基本类型 8种
byte
short
int 常用
long 常用 64位 2355436547456345
float 32位 2.35543654*10^30
double 常用
boolean
char 就是一个数!二进制的
显示的时候:经过处理显示位字符
int n = 65;//n=01000001
整数类型:byte short int long
最常用int要注意范围,21亿,超范围运算会溢出其次用long类型
很少用short
byte用于表示最小数据单位,如文件中数据
浮点数:float double,IEEE 754标准
float:32位浮点数
double:64位 double float 是最常用的浮点数
默认的double类型字面量是double而整数默认是int类型
double后缀D,d
float后缀 f,F
浮点数有舍入误差,不能进行精确计算
package day02; /* * long类型数据 * 范围:-2^63-2^63-1 */ public class Demo6 { public static void main(String[] args) { // long l1 = 100000000000;//编译错误,整数字面量超过int范围 long l1 = 100000000000L;//L后缀的字面量是long类型 //current当前的Time时间Millis毫秒数 long now = System.currentTimeMillis(); //从1970年元旦到现在(软件运行期间的此时此刻)累计的毫秒数 System.out.println(now); long year = now/1000/60/60/24/365+1970; System.out.println("公元"+year); } }
整数类型:byte short int long 最常用int要注意范围,21亿,超范围运算会溢出 其次用long类型 很少用short byte用于表示最小数据单位,如文件中数据 浮点数:float double,IEEE 754标准 float:32位浮点数 double:64位 double float 是最常用的浮点数 默认的double类型字面量是double而整数默认是int类型 double后缀D,d float后缀 f,F 浮点数有舍入误差,不能进行精确计算
package day02; /* * 浮点数 */ public class Demo7 { public static void main(String[] args) { double pi = 3.14159265358979; float f = 3.14159265358979f;//浮点数默认字面量是double类型精度高 System.out.println(pi);//精度高 System.out.println(f);//精度差 double d = 2.6; System.out.println(d-2);//0.6000000000000001 } }
package day02; import java.util.Scanner; /* * *落体运动的位移 */ public class Demo8 { public static void main(String[] args) { Scanner console = new Scanner(System.in); System.out.println("输入时间: ");//提示输入 double t = console.nextDouble();//控制台读取一个浮点数 //double t = 5.5; double g = 9.8; double s; s = g * t * t/2; System.out.println("下落了"+t+"秒移动了"+s+"米"); } }
package day02; import java.util.Scanner; public class Demo9 { public static void main(String[] args) { //Math:数学,Math类中提供了常见数学函数 //y = f(x) //double d = Math.sqrt(2); // System.out.println(d); Scanner console = new Scanner(System.in); System.out.println("输入位移: "); double s = console.nextDouble();//从控制台读取浮点数 double t; double g = 9.8;//加速度g double n = 2*s/g;//计算公式,还没有开平方 t = Math.sqrt(n);//对n进行开平方计算 System.out.println("时间: "+t); } }
package day02; /* * 字符类型char类型 * 16位整数!范围0-65535没有负数 * 可以按照整数计算 * 数值是Unicode编码值 */ public class Demo10 { public static void main(String[] args) { char c = 'A';//'A'字符直接量 System.out.println((int)c); //(int)强制类型转换 System.out.println((int)'B'); System.out.println((int)'C'); System.out.println((int)'0'); System.out.println((int)'1'); System.out.println((int)'中'); char ch = '\'';//一个单引号字符 System.out.println(ch);//单引号字符 System.out.println((int)ch);//单引号的编码 // \n 换行 \r回车 \t tab字符 \"双引号 \\表示一个\ ch = '\u4e2d';//16进制的unicode编码表示的字符中 System.out.println(ch);//中 ch = 'A'+1;//字符是一个整数可以参与运算 System.out.println(ch);//'B' } }
package day02; /* * 基本数据类型转换 */ public class Demo11 { public static void main(String[] args) { //自动类型转换,小类型到大类型转化时候会发生 long l = 1;//1是int(32)自动转化位long类型(64)位赋值给变量l l = 1024L*1024*1024*4; int i = (int)l;//强制类型转换,超范围转换溢出了 System.out.println(i);//溢出了,反例 l = 1000L; i = (int)l;//强制类型转换 System.out.println(i);//1000 double pi = 3.141592653589; float f = (float)pi;//强制类型转换找出精度损失 System.out.println(f);//精度变差 } }
package day02; import java.util.Random; /* * 随机生成一个字符 * 生成'A'~'Z'范围的某个字符 * 1 字符是一个数,所有就是生成:65~(65+25)数字 * 65~(65+25) = 65 + (0~25) = 65 +[0,26) * 提示:字符是一个整数 * 提示:Java中所有的范围参数都是包含开始,不包含结束 */ public class Demo12 { public static void main(String[] args) { Random random = new Random(); int n = random.nextInt(26);//生成0到26范围内的随机数,不包括26 System.out.println(n); char ch = (char)('A'+n);//(65+n) System.out.println(ch);//'A'~'Z' } }
package day02; /* * 布尔类型 * 用于标识true真和false假状态 * 用来表示判断的结果 */ public class Demo13 { public static void main(String[] args) { boolean isMan = true; isMan = false; boolean used = true; used = false; used = true; if(used){//if如果,used用过 System.out.println("二手八折"); } isMan = true; if(isMan){ System.out.println("纯爷们"); } } }