基本类型 8种byteshortint 常用long 常用 64位 2355436547456345float 32位 2.35543654*10^30double 常用booleanchar 就是一个数!二进制的显示的时候:经过处理显示位字符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("纯爷们");
}
}
}