什么是IDE(集成开发环境,例如:Eclipse,IDEA)
- IDEA介绍
- IDEA官网:https://www.jetbrains.com
- psvm(public static void main(String[] args))
- sout(输出快捷键)
Java基础语法
注释
平时我们编写代码,在代码量比较少的时候每门还可以看懂自己写的,但是当项目结构一旦复杂起来骂我们就需要用到注释了
知识并不会被执行,是给我们写代码的人看的.
书写注释是一个非常好的习惯。
平时写代码一定要注意规范。
Java中注释有三种
- 单行注释 // 可以注释一行文字
- 多行注释 /* */可以注释一段文字
- 文档注释/** */
1.原先我还知道我在写什么,但是现在,只有上帝知道了。
这条注释是优秀数学家Karl Weierstrass写的。我唯一想问的是,他前后指的是不是同一个数学难题。如果是,那又是为什么,我真的非常想知道。
2.谨将我的所有代码所有工作献给我的妻子Darlene,因为她养育了我和我们的三个孩子,以及会一条人来疯的狗。
3.等我喝醉了再来修复。
4.此处有危险,快撤退。
5.这代码很烂,我不说你也知道了。如果你能搞定它,那叫我傻瓜我也应。
6.代码有问题别找我!虽然是我写的,但是它们自己长歪了。
7.0不能做除数,没办法我只好用一个非常相近的数值代替:0=0.00000000000001
8.如果你看到这个,那么说明你现在已经在负责我以前的项目了。我感到非常抱歉。愿上帝保佑你。
9.如果这些代码有用,那它们是Paul DiLascia写的,如果没用,那我就不知道是谁写的了。
标识符
关键字
所有的标识符都应该以字母(Az),美元符号($),或者下划线(_)开始
首字符之后可以是字母,美元符,下划线或者是数字组合
不能使用关键子作为变量名或者方法名
标识符是大小写敏感的
合法的标识符举例:age,¥salary,_value ,_1_value
非法的标识符 :123abd,-salary,#abc
可以使用中文命名,但是一般不这样,也不建议使用拼音很low
数据类型
- 强数据类型
- 要求变量的使用要严格符合规定,所有变量都必须先定义后,带能使用
- 弱类型语言
-Java的数据类型分为两大类- 基本类型(primitive type)
- 引用类型(reference type)
变量
- 变量是什么:就是可以变化的量
- Java是一种强类型语言,每个变量都必须声明其类型
- Java变量是程序中最基本的存储单元,其要素包括变量名,便俩个类型和作用域
- 注意事项
- 每个变量都有类型,可以是基本类型,也可以是引用类型
- 边框名必须是合法分标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//long类型要在数字湖面加L
//小数
float num5 = 50.1F;
double num6 = 3.141592653;
//字符
char name1 = 'A';
//字符串,String不是关键字,是类
String name2 = "韩锁";
//布尔值
boolean flag = true;
//boolean flag = false;
什么是字节
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的最小单位,习惯上用大写B来表示。
1B(byte,字节) = 8bit(位)
字符:是指计算机中使用的字母,数字和符号
1bit表示一位,
1Byte表示一个字节 1B=8b
1024B = 1KB
1024KB = 1M
1024M = 1G
public class demo03 {
public static void main(String[] args) {
//进制
int i = 10;
int i2 = 010;//八进制 0
int i3 = 0x10;//十六进制 0x 0~9 A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("========================");
//===============================================
//浮点数拓展? 银行业务怎么表示?钱
//BigDecimal 数学工具类
//===============================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false
float d1 = 23132131f;
float d2 = d1 + 1;
System.out.println(d1==d2);
//===================================================
//字符拓展
//===================================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强转
System.out.println(c2);
System.out.println((int)c2);//强转
//所有的字符本质还是数字
//编码问题 Unicode 2字节 0-65536 Excel 2*16 = 65536
//表 97 = a 65 = A
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);
//转义字符
//\t制表符
//\n换行符
System.out.println("Hello\tWorld");
//==================================================
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//f
String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//t
//对象 从内存分析
//布尔值扩展
boolean flag = true;
if (flag==true);//新手
if (flag){}//老手
//Less is More! 代码要精简易读
}
}
类型转换
- Java是强类型语言,所以在进行有些运算的时候,需要用到类型转换
低 --------------------------------->高
byte,short,char->int->long->float->double
- 运算中,不同类型的书籍先转化为同一类型,但后进行运算
- 强制类型转换
//强制转换 (类型)变量名
public static void main(String[] args) {
int i = 128;
byte b = (byte)i;//内存溢出
System.out.println(i);
System.out.println(b);
}
内存溢出问题 byte就到127
自动类型转换
public static void main(String[] args) {
int i = 128;
double b = i;
System.out.println(i);
System.out.println(b);
}
/*
*注意点:
* 1.不能对bool值进行转换
* 2.不能把对象类型转换为不相干的类型,
* 3.再把高容量转换为低容量的额时候,强制转换
* 4.转换的时候可能存在内存溢出,或者精度问题
*
*/
System.out.println("============================");
System.out.println((int)23.7);
System.out.println((int)-45.66f);
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
public static void main(String[] args) {
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了
long total2 = money*years;//默认是int,转换之前已经存在问题
long total3 = money*((long)years);//先把一个数转换为long
System.out.println(total3);
//L l 在使用中用L(大写)
}
变量
- 变量是什么:就是可以变化的量;
- Java是一种强类型语言,每个变量都必须声明其类型。
- Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,vaeName[=value]}];
//数据类型 变量名 = 值;可以使用都喊隔开来声明多个同类型变量。
- 注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
- 类变量
- 实例变量
- 局部变量
public class Demo08 {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量,从属于对象;如果不自行初始化,这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name ;
int age;
//main方法
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 == new Demo08();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
- 常量(Constant):初始化(initiallize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行的过程中不允许被改变
final 常量名 = 值;
final 都变了 PI = 3.14;
- 常量名一般使用大写字符。
变量的命名规范
- 所有变量,方法,类名:见命知意
- 类成员变量:首字母小写和驼峰原则:monthSa lastNamelary,除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰规:run(),runRun()
运算符
- Java语言支持如下运算符