Java学习笔记(3)-基本数据类型

时间:2022-11-09 15:34:19

基本类型 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("纯爷们");
		}
	}
}


Java学习笔记(3)-基本数据类型

Java学习笔记(3)-基本数据类型