数据类型扩展与变量

it2026-04-02  5

数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

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方法名:首字母小写和驼峰原则
最新回复(0)