Day.2
注释
-
单行注释 //
-
多行注释 /* */
-
文档注释 /** */
书写注释是一个非常好的习惯
标识符
-
所有标识符都应该以字母(A-Z或a-z),美元符($),或者下斜线(_)开始
-
首字符之后可以是字母(A-Z或a-z),美元符($),或者下斜线(_)或数字的任何字符组合
-
不能使用关键字作为变量名或方法名
-
标识符是大小写敏感的(Hello hello不一样)
-
合法标识符举例:age,$salary,__value, _1 _value
-
非法标识符举例:123abc,-salary,#abc
-
可以使用中文名命名,但是一般不建议这样去使用,也不建议使用拼音,很low
数据类型
-
强类型语言:要求变量的使用严格符合规定,所有变量都必须先定义后才能使用(安全性高,慢一点)
-
弱类型语言:要求变量的使用符合规定,所有变量都必须先定义后才能使用(快)
-
java的数据类型分为两大类
-
基本类型(Primitive Type)
分为两类:一:数值类型
整数类型 byte占1个字节范围 -128~127 short占2个节范围 -32768~32767 int占4个字节范围 -2147483648~2147483647 long占8个字节范围 -9223372036854775808~9223372036854775807(long num = 30L) 浮点类型 float占4个字节 (num = 3.1415926F) double占8个字节 字符类型 char占2个字符 (一个字‘ ’) String 字符串 (“ ”) 二: bloolean类型 占1位其值只有true和false两个
-
引用类型(Reference Type)
-
类,接口,数组
-
拓展
整数拓展:二进制0b 八进制0 十六进制0x (123456789ABCDEF)
-
int i1 = 0b10;
int i2 = 010;
int i3 = 0x1F;
int i4 = 0x115;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
2 8 31 277 -
浮点数拓展:float 有限 离散 舍入误差 大约 接近但不等于
float d = 0.1f;
double f = 1.0/10;
System.out.println(f==d);
System.out.println(f);
System.out.println(d);
false 0.1 0.1float d = 37217832817f;
double f = d+1;
System.out.println(d==f);
trueBigDecimal 数学工具类
-
字符拓展
char c1 = 'A';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制换行
System.out.println(c2);
System.out.println((int)c2);//强制换行
char c3 = '\u0065';
System.out.println(c3);
A 65 中 20013 a
所有字符本身还是数字 编码 Unicode 表(97 = a 65 = A) 2字节 0-65536(2的16次方) (范围 u0000---uFFFF)
转义字符 (\t tab \n换行)
```java
System.out.println("hello\nworld"); hello world ```
-
布尔值扩展
boolean flag = true;
if(flag==true){} //新手
if(true){} //老手
//less is more! 代码要精简易读
类型转化
-
由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
-
低--------------------------------------------------------------------高
-
byte,short,char--->int--->long--->float--->double
-
运算中,不同类型的数据先转化为同一类型,然后进行运算。
-
强制转换(类型)变量名 高---低
-
自动转换 低---高
-
int i = 128;
byte b = (byte)i;
System.out.println(i);
System.out.println(b);
128 -128
double d = i;
System.out.println(i);
System.out.println(d);
128 128.0注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,强制转换
-
转换的时候可能出现内存溢出,或者精度问题!
System.out.println((int)23.7); // 23
System.out.println((int)-45.89); // -45
char c = 'a';
int d = c+1;
System.out.println(d); // 98
System.out.println((char)d); //b// 操作比较大的数的时候,注意溢出问题
// JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total1 = money*years;
System.out.println(total1); // -1474836480
long total2 = money*years;
System.out.println(total2); // -1474836480
long total3 = money*(long)years;
System.out.println(total3); // 20_0000_0000
// L l(不易区别1,容易错,养成良好的习惯)
-
变量
-
变量是什么:就是可以变化的量!
-
java是一种强类型语言,每个变量都必须声明其类型。
-
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域(给内存中一个空间定义一个名字,再往里面加入内容)
-
注意事项:
-
每个变量都有类型,类型可以是基本类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
-
尽量一个变量一行,提高程序的可读性。
public class p2 {
//类变量 static
static double salary = 2500;
//属性:变量
//实例变量:从属于对象;如果不进行初始化,即为这个类型的默认值 0 0.0 u0000
//布尔值默认为false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//实际变量
p2 p3 = new p2();
System.out.println(p3.age);
System.out.println(p3.name);
//类变量
System.out.println(salary);
}
}
/*其他方法
public vpid (){}*/
-
常量
-
常量(Constand):初始化后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
-
final 常量名 = 值
-
final double PI = 3.14;
-
常量名一般使用大写字符。
public class p3 {
//修饰符 不存在先后顺序
//也可以写成 final static double PI = 3.14;
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
变量的命名规范
-
所有变量,方法,类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Man,GoodMan
-
浙公网安备 33010602011771号