Day3

数据类型扩展

进制

1.二进制0 b

2.十进制

3.八进制0

4.十六进制0 x 0~9 A~F F=15

浮点数拓展

float 有限 离散 舍入误差 大约 接近但不等于

结论:最好完全避免使用浮点数进行比较

银行业务使用b i g d e decimal

 

字符拓展

System.out.println(c1)
System.out.printlin((int)c1)//强制换行

总结:所有字符的本质还是数字

//编码 Unicode 2字节 65536 Excel 2的16方 =65536

// U 0000 U F F FF

char c3 ='\u0061';
System.out.println(c3);//a(输出为字母a)

//转义字符

// \t (制表符)

// \t(换行)

System.out.println("Hello\tWorld");// 输出为Hello   World
Syesem.out.println("Hello\nWorld");//输出为 Hello
                                          World

 

// 对象 从内存分析

// 布尔值拓展

boolean flag =true;
   if (flag=true){} //新手
   if (flag){} //老手
// less is more 代码要精简易读

类型转换

低----------------高

byte,short,char,int,long,float,double(小数的优先级大于整数)

//强制转换(类型)变量名 高-低

//自动转换 低-高

int i =128;
byte b=(byte)i;输出结果分别为128 -128 原因:内存溢出

注意点

1.不能对布尔值进行转换

2.不能把对象类型转换为不相干的类型

3.把大容量转换到低容量使,强制转换

4.转换的时候可能存在内存溢出或者精度问题

 

//操作比较大的数的时候,注意溢出问题

//J D K 7新特性,数字之间可以用下划线分割

int money =10_0000_0000;
int years =20;
int total =money*years;//-1474836480,计算的时候溢出了
long total2=money*years;//默认是nt,转换之前就已经存在问题了

long total2=money*((long)years);//先把一个数转换为long

变量

1.变量是什么:可以变化的量 x=1,2

  1. Java是一种强类型语言,每个变量都必须声明其类型。

  2. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

 

注意

1.每个变量必须有一个类型

2.变量名合法

3.每行结束以分号结尾

变量作用域

类变量 static

实例变量:从属于对象,如果不自行初始化,这个类型的默认值 0 0.0

布尔值:默认是false

除了基本类型,其余的默认值都是null

局部变量:必须声明和初始化 只在{}内有效

变量的命名规范

1.所有变量,方法,类名:见名知意

2.类成员变量:首字母小写和驼峰原则: month Salary 除了第一个单词以外,后面的单词首字母大写

3.局部变量:同上

4.常量:大写字母和下划线:MAX_VALUE

5.类名:首字母大写和驼峰原则:Man,Good Man

6.方法名:首字母小写和驼峰原则:run(),run Run()

 

常量

初始化后不能再改变值,不会变动的值

static final double pi =3.14;//static final都是修饰符

 

运算符

算数运算符:+,-,*,/,%(取余运算=模运算),++,--

赋值运算符:=

关系运算符:>,<,>=,<=,== (等于),!=(不等于)

逻辑运算符:&&(与),||(或),!(非)

位运算符:&,|,^,~,<<,>>,>>>(了解)

条件运算符:?,:

扩展赋值运算符:+=,-=,*=,/=

 

//++(自增) a++与++a的区别 ++在前就是先自增再赋值,在后相反

--(自减) 这两个叫做一元运算符

 

幂运算:

double pow =Math.pow(2,3)// 输出为2*2*2   

 

 

 

 

 

 

posted @ 2022-03-27 20:01  无聊的T先生  阅读(40)  评论(0)    收藏  举报