标识符
Java所有的组成部分都需要名字
类名、变量名以及方法名都被称为标识符
public static void main(String[] args) {
//标识符是大小写敏感的
//字母,$ , _开头
String Ahello="sz";
String hello="sz";
String $Ahello="sz";
String _Ahello="sz";
//首字母之后可以是任意字符
String _1hello="sz";
数据类型
-
强类型 :要求变量的使用严格符合规定,所有变量都必须先定义后才能使用 (安全性高)
-
弱类型 :VB、JS
什么是字节
位(bit): 计算机内部数据存储的最小单位
字节(byte):计算机中数据处理的基本单位,B表示
1B=8bit (位)
字符:计算机中使用的字母、数字、字和符号
Java的数据类型分为两大类
//整数拓展 进制 二进制 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0~9,A~F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//浮点数拓展
//float 有限 离散 舍入误差 大约数 接近但不等于
//double
//bigdecimal
float f = 0.1f;
double d = 1.0 / 10;
System.out.println(f == d);
System.out.println(f);
System.out.println(d);
float d1 = 23131313414f;
float d2 = d1 + 1;
System.out.println(d1 == d2);
//字符扩展
System.out.println("==============================================");
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
//Unicode 65536
//转义字符
// \t
// \n 换行
// ...
System.out.println("Hello\tWorld");
String sa=new String("Hello World");
String sb=new String("Hello World");
System.out.println(sa==sb);
String sc="Hello, World";
String sd="Hello, World";
System.out.println(sc==sd);
//布尔值扩展
boolean flag=true;
if (flag){
System.out.println("√");//Less is more
类型转换
运算中 不同类型的数据先转化为同一类型,然后进行运算
**byte,short,char -> int ->long -> float -> double **
-
不能对 bool进行转换
-
不能把对象类型转换为不相干类型
-
在把高容量转为低容量时,强制转换
-
转换时候存在内存溢出,精度问题
-
强制类型转换
-
自动类型转换
int i=128;
byte b=(byte) i;//强制转换 (类型)变量名 高--低
double c=i;//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println(c);
//=======================================================
System.out.println((int)23.6);
System.out.println((int)-49.89f);
//=======================================================
char d='a';
int e=d+1;
System.out.println(e);
System.out.println((char)e);
//操作大数 溢出
int money=10_0000_0000;
System.out.println(money);
int years=20;
int total=money*years;
long total2=money*years;//默认是int 转换之前已经存在问题
System.out.println(total);
System.out.println(total2);
long total3=money*((long)years);
System.out.println(total3);
//L
变量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
-
每个变量都有类型 类型可以是基本类型 也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每个声明都必须以分号结束
-
数据类型 变量名 = 值
//int a,b,c;
int a=1,b=2,c=3;//可读性差
String name ="shaozhuo";
char x='X';
double pi=3.14;
变量作用域
-
类变量
-
实例变量
-
局部变量
public class Demo07 { //属性 :变量 //实例变量 :从属于对象; //类变量 static static double salary=2500; String name; int age; //bool 默认false //除了基本类型 其余的都是null //main 方法 public static void main(String[] args) { //局部变量 必须声明和初始化值 int i=2; System.out.println(i); //实例 Demo07 demo07=new Demo07(); System.out.println(demo07.name); System.out.println(demo07.age); //类变量 System.out.println(salary); } }
常量
初始化后不能再改变值,不会变动的值
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
常量名一般为大写字符
格式 final 常量名=值;
//修饰符不存在先后顺序
static final double PI=3.14;
public static void main(String[] args) {
System.out.println(PI);
命名规范
所有变量、方法、类名: 见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则: run(),runRun()