数据类型拓展
整数拓展:二进制0b、十进制、八进制0、十六进制0x(0-9,A-F)
浮点数拓展:float有限、离散、舍入误差、大约、接近但不等于(最好不要使用float);银行常用BigDecimal
System.out.println((int)c); //强制转码
所有字符本质还是数字
编码Unicode表:(97=a、65=A) 2字节 0-65536(2^16)
转义字符
\t 制表符(相当于键盘上按下TAB键之间的距离,一般为8个空格。)
使用制表符是把输出的切入点移动到下一个能被8整除的位置上。
即当打印小于八格的结果,用空格补足八格再打印下一个结果;当大于等于八格,小于十六格,补足十六格;以此类推。
\n换行符
public class text02 {
public static void main(String[] args) {
System.out.println("1234567 12345678 0.1234567 0.12345678");
System.out.println("1234567\t12345678\t0.12345\t0.12345678");
System.out.println("1234567 \n12345678\n0.1234567\n0.12345678");
}
}
类型转换
小数的优先级大于整数
byte,short,char->int->long->float->double
//强制转换 (类型)变量名 高到低 要避免内存溢出
//自动转换 低到高
运算时如果有一个参数是L或者double,结果位L或者double
运算时如果比int低,结果均为int
注意
- 不能对布尔值转换
- 不能把对象类型转换为不相干类型
- 高到低时,强制转换
- 可能出现内存溢出或者精度问题
int money=10_0000_0000; JDK7新特性,数字之间可以用下划线分割
变量
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 =值;可以使用逗号隔开来声明多个同类型变量。
变量作用域
- 类变量:从属类
- 实例变量:在类里,从属于对象,如果不初始化,会变成默认值(基本类型0 0.0 Boolean默认false,此外都是null
- 局部变量:在方法内,必须声明和初始化
public class Variable{
static int salary = 2500; //类变量
String str = "hello"; //实例变量
int age;
public void method(){
int i = 0; //局部变量
System.out.println(i);
//实例变量 变量类型 变量名字 = new Variable();
Variable variable = new Variable();
System.out.println(variable.str); //输出null
System.out.println(variable.age); //输出0
//类变量 static
System.out.println(salary);
}
}
常量
初始化(initialize)后不能再改变值
final 常量名=值;//一般使用大写字母
public class text03 {
//修饰符,不存在先后顺序
final static double PI = 3.14;
//static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);
}
}
命名规范
类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:GoodMan
方法名:首字母小写和驼峰原则:runRun()
运算符
算术运算符:+、-、*、/、%(模运算,取余)、++、–
赋值运算符:=
关系运算符:>、<、>=、<=、==、!=、instanceof
逻辑运算符:&&、||、!
位运算符:&、|、^、~、>>、<<、>>>(了解)
条件运算符 ?、:
扩展赋值运算符:+=、-=、*=、/=
Ctrl+D 在IDEA中复制当前行到下一行
//运算时如果有一个参数是L或者double,结果位L或者double
//运算时如果比int低,结果均为int,包括char
public class Text04 {
public static void main(String[] args) {
long a = 123456789L;
int b = 12356;
short c = 100;
byte d = 5;
double e = 3.14;
char f = 'g';
System.out.println(a+b);//Long
System.out.println(b+c);//Int
System.out.println(c+d);//Int
System.out.println(d+e);//Double
System.out.println(d+f);//Int
}
}