一、
1,根本类型 八种 --整数:byte short int long --小数:float double --布尔:boolean --字符:char 2,根本类型对应的工具类:
根本类型: byte ;short;int;long; float;double;char; boolean
工具类:Byte;Short;Integer;Long Float;Double; Character; Boolean
//3,通过点.来调用工具类的性能//4,打印变量时,千万不要用双引号
//1,整数类型的取值范畴 byte short int long
例如:创立变量,记录最大值:变量类型 变量名 变量值
byte max = Byte.MAX_VALUE ;System.out.println("max");
float--Float double--Double
区别:float是单精度,对小数位运算不准确
区别:double是单精度,对小数位运算十分精。
char--字符型 --一个字符char c = 'a' ;//一个字母char c2 = '1' ;//一个数字char c3 = '中' ;//char类型能不能存一个中文汉字? -- 能够char c4 = 126 ;//能够间接存数 System.out.println(c); System.out.println(c2); System.out.println(c3);
char类型是字符型,容许你间接存入一个数字自身.然而,应用时还是要用字符的.
应用时,底层会去查问ascii码表,数字对应的字符是啥,而后用字符自身.
ascii码表里,规定了0~127数字对应的字符,char类型的取值范畴是0~65535.
数值转换图:
练习:圆形面积
package cn.tedu.basic; import java.util.Scanner; //这个类用来测试 圆形面积 //总结 //1,批改变量的值,既然被定义成了变量,他的值就能够始终被批改 //2,变量的值为了写的更加灵便,能够动静接管键盘输入的值 //3,拿着变量的值,带入公式,运算后果,并交给area/zhouchang去保留 //4,动静拼接字符串,用+实现
public class Test3_Area {
public static void main(String[] args) { double r = 5.5 ;//定义变量,记录圆的半径//动静的接管键盘输入的值r = new Scanner(System.in).nextDouble() ;//批改变量的值
double area = 3.14 r r ;
//圆形面积:3.14 r r
System.out.println("圆的面积是:"+area);//打印面积
//TODO 圆的周长double zhouchang = 2*3.14*r ; } }--5,练习:变量替换package cn.tedu.basic;import java.util.Scanner;
//这个类用来测试 变量值替换
public class Test4_Exchange { public static void main(String[] args) { //1,创立变量a和b int a = new Scanner(System.in).nextInt() ; int b = new Scanner(System.in).nextInt() ; System.out.println("替换前:a=1,b=2");//2,替换值 int c = a ;//把a的值交给c保留 a = b ;//把b的值交给a保留 b = c ; //把c的值交给b保留 TODO 3,打印 } }--6,援用类型--数组/OOP ...
二,根本类型的字面值(5条)
package cn.tedu.basic;
这个类用来测试 字面值
public class Test5 {
public static void main(String[] args) {1,java里整数有4种类型,那么,咱们写的整数到底字面值是什么类型呢?--intint a = 1000 ;2,在取值范畴内,能够间接赋值byte m = 123 ;byte n = 128 ;//报错,右侧是int类型,左侧的byte类型基本就存不下//char o = 65536 ;//报错,右侧是int类型,左侧的char类型基本就存不下3,java里小数有2种类型,那么,咱们写的小数到底字面值是什么类型呢?--doubledouble x = 9.9 ;4,字面值的后缀lfd , l-long f-float d-double 报错,因为有右侧字面值是int类型,然而,超出了int范畴!!--加后缀L变成long类型long b = 10000000000L;报错,右侧是double类型8字节,左侧是float类型4字节,存不下!!--加后缀f变成float类型float y = 9.9f ;double z = 3d;//右侧就从字面值int类型转成了double类型 }}
三,根本类型的类型转换
--1,从小到大:拿着小类型给大类型赋值--隐式转换--2,从大到小:拿着大类型给小类型赋值--显式转换--3,测试 package cn.tedu.basic;
这个类用来测试 转换
public class Test6 {
public static void main(String[] args) {从小到大(隐式转换) byte小类型 -- long大类型byte a = 10 ;拿着右侧的小类型a,给左侧的大类型b去赋值 --能够间接赋值!!long b = a ; 从大到小(显式转换) double-intdouble m = 10;拿着右侧的大类型m,给左侧的小类型n去赋值--不能够!!须要强转int n = (int) m ; 练习:小转大long-floatlong x = 10 ;float y = x ;//隐式转换 大转小:double-floatdouble o = 9 ;float p = (float)o ;//显示转换 } }
四,运算规定(5条)
package cn.tedu.basic;//这个类用来测试 运算规定public class Test7 { public static void main(String[] args) {1,计算结果的数据类型,与最大类型统一 System.out.println(3/2); //1 , int/int->int System.out.println(3d/2); //1.5 , double/int -> double System.out.println(3.14*10);//31.4 , double*int -> double 2,byte,short,char三种比int小的整数,运算时会先主动转换成int byte a = 1; byte b = 2;右侧拿着两个byte类型的值,做运算时,会变成大类型int类型--须要强转 byte c = (byte) (a*b); 3,整数运算溢出 -- 因为在运算时曾经超出了int的范畴!!--须要加后缀L扩大范围光速运行一年的运行是多少米?--3亿m/sSystem.out.println( 300000000L * 60 * 60 * 24 * 365 ); 4,浮点数的非凡值--因为小数运算中,呈现了不应该呈现的景象:分子或者分母为0了!! System.out.println( 3.14/0 );//Infinity System.out.println( 0/0.0 );//NaN } }