数据类型
-
强类型语言
- 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
-
弱类型语言
-
Java的数据类型分为两大类
- 基本类型(primitive type)
- 引用(reference type)
数据类型扩展
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import javax.lang.model.element.NestingKind;
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i=10;
int i2=010; //八进制0
int i3=0x10; //十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=======================================================");
//==============================================================
//浮点数拓展? 银行业务怎么表示?钱
//BigDecimal 数学工具类
//===================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //false
float d1=23131231231313f;
float d2 =d1+1;
System.out.println(d1==d2); //true
//=============================================================
//字符拓展?
//===================================================
char c1 ='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1); //强制换行
System.out.println(c2);
System.out.println((int)c2); //强制换行
//所有的字符本质还是数字
//编码 Unicode 表:(97=a 65=A) 2字节 0-65536 Excel 2 16 =65536
//u0000 uFFFF
char c3 ='\u0061';
System.out.println(c3);
//转义字符
// \t 制表符
// \n 换行符
// 。。。。
System.out.println("Hellp\nWorld!");
System.out.println("============================================");
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==true){ } //新手
if (flag){} //老手
//Less is More! 代码要精简易读
}
}
类型转换
- 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。
- 运算中,不同类型的数据先转化为同意数据,让后进行运算。
- 强制类型转换
- 自动类型转换
public class Demo04 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i; //内存溢出
double c =i;
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println(c);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
3.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("=======================");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("=======================");
char d='a';
int e=d+1;
System.out.println(e);
System.out.println((char)e);
}
}
public class Demo04 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i; //内存溢出
double c =i;
//强制转换 (类型)变量名 高--低
//自动转换 低--高
System.out.println(i);
System.out.println(b);
System.out.println(c);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
3.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("=======================");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("=======================");
char d='a';
int e=d+1;
System.out.println(e);
System.out.println((char)e);
}
}
变量
-
变量是什么:就是可以变化的量!
-
Java是一种强类型语言,每个变量都必须声明其类型。
-
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。
public class Demo06 { public static void main(String[] args) { //int a,b,c; //int a=1,b=2,c=3; 不建议这俩种方法 int a=1; int b=2; int c=3; String name="哈哈"; char x='H'; double PI=3.14; } }
-
注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是应用类型。
- 变量名必须是合法的标识符。
- 变量声明是一条完整的语句,英雌每一个声明都必须以分号结束
变量作用域
-
类变量
-
实例变量
-
局部变量
public class Demo07 { //类变量 static static double salary=2500; //属性:变量 //实例变量:从属于对象:如果不自行初始化,这个类型的默认值 0,0.0 //布尔值:默认是false //除了基本类型,其余的默认值都是null; String name; int age; //main 方法 public static void main(String[] args) { //局部变量:必须申明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字=new Demo09(); Demo07 demo07 = new Demo07(); System.out.println(demo07.age); System.out.println(demo07.name); //类变量 static System.out.println(salary); } //其他方法 public void add(){ System.out.println(); } }
常量
-
常量(Constant):初始化之后不能再改变值!不会变动的值。
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
//修饰符,不存在先后顺序 final 常量名=值 static final double PI=3.14;
-
常量名一般使用大写字符。
变量的命名规范
- 所有变量、方法、类命:见名知意
- 类成员变量:首字母小写和驼峰原则:除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类命:首字母大写和驼峰原贼:Man
- 方法名:首字母小写和驼峰原则