数据类型扩展
数据类型扩展
处理一些数学或实际问题一般不用double和float,两者直接的点后保存位数不同,一般用BigDecimal类
BigDecimal为数学工具类
0b 二进制开头
0x 十六进制开头
赋值时可以直接de使用,相应的位数
数据最大存储范围后可能使值加一与原值相等
局部变量
定义在方法里的变量,比如定义在main方法里的变量,这些变量的使用周期为方法开始的大括号开始
方法结束的大括号结束。
eg:
1 public class eg1
2 {
3 public static void main(String[] args)
4 {//生命周期从这里开始
5 int a=1;//a就是一个局部变量。定义在main方法中
6
7 }//从这里结束。
8 }
实例变量
从属于类的对象,
定义在类下的变量。
语法:变量类型 变量名;
未初始化时,初始值为0,0.0,null,布尔值默认为false
调用时必须先在方法里引入
引入语法:
变量类型 名称=new 变量类型();
1
2
3 public class eg2
4 {
5 int a;
6 string s;
7 public static void main(String[] args)
8 {
9 eg2 ming=new eg2();
10 System.out.print(ming.s);
11 System.out.print(ming.a);
12 }
13 }
14
类变量
定义在类里,从属于类跟随类变化,
语法:static 类型 名称=值;
可以直接在方法里使用。
1 public class eg3{
2 static int x=1;
3 public static void main(String[]args){
4 System.out.print(x);
5 }
6 }
常量
final 修饰符修饰,不可改变。
static final int x=1;
final static int x=1;
修饰符不区分前后。类型前面都是修饰符。
数据的存储
数据的存储在计算机里都是数值,采用不同的编码方式,同一个数字得到的值也会不同。
java中采用unicode编码
eg
char a1='\u0061';
表示的就是小写的a,其他的字符也以相同的方式在其中保存
输出时可以强制类型转换
eg
System.out.println((int)a1);
输出时就会输出相应的编码值
转义字符
具有一些实际意义的字符,会给出相应的操作
例如常见的:
\n 换行
\t 制表符
转义字符 | 意义 | ASCII码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\ | 代表一个反斜线字符''' | 092 |
' | 代表一个单引号(撇号)字符 | 039 |
" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NUL) | 000 |
\ddd | 1到3位八进制数所代表的任意字符 | 三位八进制 |
\xhh | 十六进制所代表的任意字符 | 十六进制 |
eg:
1 System.out.println("ha\nha");
输出时会自动换行
ha
ha
定义方法扩展
一般尽量使用,一行定义一个变量。增加可读性。不使用一行定义多个变量
int a=1;
int b=2;
int c=3;
朋友和酒,少年和诗,路和远方。