Day01
创建空项目
-
File-New-Project-Empty Project
-
File-Project Structure-Project-选择java版本,level选择8
//两个斜杠就是单行注释
/**
*以"/**"开头,以"*/"结尾就是文档注释,中间每一行都要加上一个*
*/
/*
以"/*"开头,以"*/"结尾就是多行注释,中间不必加上*
*/
数据类型注意事项
-
long类型要在数字后面加一个L,或者在前面加上(Long)
-
float后面要加一个F,或者在前面加上(Float)
-
long可以不必加,但float必须加因为java默认声明小数是double类型的
-
字符char用单引号定义
JAVA中的数据类型拓展
-
二进制0b,八进制0,十进制,十六进制0x
int a = 10;//十进制
int b = 0b1010;//二进制
int c = 012;//八进制
int d = 0xA;//十六进制
//最后输出结果全是10 -
浮点数float是有限的,如果太大会四舍五入,比如
float a = 123423421342;
float b = a+1;
float c = 10.1f;
double d = 10.1;a是等于b的,因为浮点数只取前面6-7位;c不等于d
所以最好完全避免使用浮点数进行比较!!!
使用BigDecimal进行比较。
-
对char的强致转换
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
/*输出结果分别为
a
97
中
20013
*/所有的字符本质都是数字
使用char输出Unicode编码时,前面加\u进行Unicode的转译
-
转化后的内存溢出
int i = 128;
byte b = (byte)i;输出结果,b的值为-128,因为byte区间为-128-127,至于为什么是128变成了-128:
首先了解
-
计算机中的数字以补码存储
-
类型 正数 负数 原码 将数字转换为二进制,即得到源码 符号位改为1 反码 反码与源码相同 除符号位全部取反 补码 补码与反码相同 反码+1 比如-1的原码、反码、补码分别为:1000 0001,1111 1110,1111 1111
128,二进制(原码)为0000 0000 0000 0000 0000 0000 1000 0000(32位),(补码)为0000 0000 0000 0000 0000 0000 1000 0000,byte只取最后8位,1000 0000(补码),原码为1000 0000,为-128,至于为什么不是-0,可通过-128=-127-1推导出来
再比如-129转为byte为127,-129原码1000 0000 0000 0000 0000 0000 1000 0001,补码1111 1111 1111 1111 1111 1111 0111 1110,取最后8位0111 1110(补码),原码为0111 1110就是127
再再比如129转为byte为-127,129原码0000 0000 0000 0000 0000 0000 1000 0001,补码相同,取最后8位1000 0001(补码),原码为1111 1111为-127
-
-
数字可以用下划线分割,_不会被输出
-
强制转化的顺序
int money = 10_0000_0000;
int years = 20;
int total = money*year;//这里数据会溢出
long total2 = money*years;//虽然long类型数据就不会溢出了,但是money*year先计算结果为int类型,再将其转成了long类型以上在转换类型前已经存在问题,修正:
long total3 = money*((long)years);//直接提升整个表达式的精度 -
实例变量:从属于对象,如果不初始化,则输出默认值0或0.0,布尔值默认是false,除了基本类型,默认值都是null
public class Deemo{
int age;
String name;
public static void main(String []args){
Deemo abc = new Deemo();
System.out.println(abc.age);输出0
System.out.println(abc.name);//输出null
}
} -
类变量static
public class Deemo{
static int age;
public static void main(String []args){
System.out.println(age);//输出0
}
} -
变量的命名规范
-
类变量:首字母小写和驼峰原则:monthSalary
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:GoHan
-
基本运算符
-
long、int、short、byte不同数据类型进行运算,有一个数为long就全部为long,没有long但有int就为int,然后时short。有一个为double就全部为double
-
++ --表示自增、自减
int a = 3;
int b = a++;
System.out.println(a);//输出结果为4
int c = ++a;
System.out.println(a);//输出结果为5
System.out.println(b);//输出结果为3
System.out.println(c);//输出结果为5-
第一个a输出为4,是因为b=a++表示,b=a然后a=a+1;第二个a输出为5,是因为c=++a表示,a=a+1然后c=a
-

浙公网安备 33010602011771号