1.书写注释是一个非常好的习惯
平时写代码一定要注意一个规范
-
单行注释 // 快捷键ctrl+/
-
多行注释/**/ 快捷键ctrl+shift+/
-
文本注释/** */
2.标识符
关键字
Java所有的组成部分都需要名字.类名、变量名以及方法名都称为标识符。
3.数据类型
强类型语言:所有的变量都必须先定义后才能使用,java是强类型语言
弱类型语言
Java数据类型分为两大类:
基本类型:整数,浮点,字符,boolean
public class Demo03 {
public static void main(String[] args) {
//整数拓展 进制 二进制0b 十进制 八进制0 十六精进制0x
int i1 = 10;
int i2 = 010;
int i3 = 0b10;
int i4 = 0x10;
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
//浮点数拓展? 银行业务怎么表示 钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好不使用浮点数进行比较
//最好不使用浮点数进行比较
//最好不使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f == d);//false
float d1 = 3513435431345164f;
double d2 = d1+1;
System.out.println(d1 == d2);//true
//字符拓展
char a1 = 'a';
char a2 = '中';
System.out.println(a1);
System.out.println((int)a1);//强制转换
System.out.println(a2);
System.out.println((int)a2);
//所有的字符本质还是数字
//编码 Unicode 表:(97 = a 65 = A )2字节 0-65536 Excel 2 16 = 65536
//U0000 UFFFF
char c3 = '\u0061';
System.out.println(c3);//a
//转义字符
// \t 制表符
// \n 换行
System.out.println("hello\tworld");//hello world
System.out.println("=====================");
String s1 = new String("hello world");
String s2 = new String("hello world");
System.out.println(s1 == s2);//false
String s3 = "hello world";
String s4 = "hello world";
System.out.println(s3 == s4);//true
//对象,从内存分析
//布尔值拓展
boolean flag = true;
if (flag == true){};//新手
if (flag){};//老手
}
}
引用类型:类,数组,接口
4.类型转换
public class Demo05 {
public static void main(String[] args) {
int num = 128;
byte i = (byte)num;
System.out.println(num);
System.out.println(i);//-128 内存溢出
double i1 = num;
System.out.println(i1);
//强制转换 (类型)变量名 高---->低
//自动转换 低---->高
/*
* 注意点:
* 1.不能对boolean值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.再把高容量转换到低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出或者精度问题!
* */
System.out.println("==================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
System.out.println("==================");
char c = 'a';
int d = c + 1;
System.out.println(d);//98
System.out.println((char)d);//b
}
}
public class Demo06 {
public static void main(String[] args) {
//操作比较大的的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money * years;//-1474836480,计算的时候溢出了
long total2 = money * years;//-1474836480,转换之前已经存在问题了
System.out.println(total);
System.out.println(total2);
long total3 = money * (long)years;//20000000000,先把一个数转换为long
System.out.println(total3);
}
}
5.变量
public class Demo08 {
//实例变量,从属于对象:如果不自行初始化,这个类型的默认值0 0.0
//布尔值,默认是false
//除了基本类型,其余的默认都是null
String name;
int age;
//类变量 static
static double salary = 2500;
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i =10;
System.out.println(i);
Demo08 demo08 = new Demo08();
System.out.println(demo08.name);
System.out.println(demo08.age);
System.out.println(salary);
}
//其他方法
public void add(){
}
}
6.常量
public class Demo09 {
//修饰符,不存在先后顺序
static final double pi = 3.14;
final static double p = 3.14;
public static void main(String[] args) {
System.out.println(pi);
System.out.println(p);
}
}