变量和数据类型代码练习

案例一 

/*
	编程实现变量的输入输出
 */
//导入java目录中util目录的Scanner类
import java.util.Scanner;
public class VarIOTest {

	public static void main (String args [] ) {
	
	 // 1.声明两个变量用于记录姓名和年龄信息(局部变量需要默认值)
		//Sting name;
		//int age;
		
		// 2.提示用户从键盘输入姓名和年龄信息并放入到变量中 (变量随时使用随时声明)
		System.out.println("请输入你的姓名和年龄信息:");
		// 创建一个扫描器来扫描键盘输入的内容 System.in 代表键盘输入
		Scanner sc = new Scanner(System.in);
		// 通过扫描器读取一个字符串数据放入变量name中
		String name = sc.next();
		// 通过扫描器读取一个整数数据放入变量age中
		int age = sc.nextInt();
		
		// 3.打印变量数值 (尽可能减少重复的代码)
		System.out.println("name = " + name);
		System.out.println("age = " + age);
		System.out.println("name = " + name + ",age = " + age);
	
		
		
		
		
	
	}
}

案例二

/*
 编程实现变量的声明和使用
 */
public class VarTest {

	public static void main (String args []) {
	
		// 1.声明一个变量并初始化  数据类型 变量名 = 初始值;
		int age = 18;
		// 2.打印变量的数值   + 字符串连接符(用于将两边的内容的拼接,结果还是字符串)
		System.out.println("age = " + age);
		
		System.out.println("-------------------------------------");
		// 3.使用变量的注意事项
		// 3.1使用变量之前需要声明
		//System.out.println("name = " + name); // 错误: 找不到符号
		// 3.2 使用变量之前需要初始化
		//String name; //  错误: 可能尚未初始化变量name
		//System.out.println("name = " + name);
		String name = "裴家奇";
		System.out.println("name = " + name);
		
		// 3.3 变量不能重复声明
		int age = 18; //  已在方法 main(String[])中定义了变量 age
		
		
	}
}

 案例三

/*
	提示用户输入正整数秒数,拆分秒数后输出x小时x分x秒
	如:输入7199 , 输出1小时59分59秒
 */
import java.util.Scanner;
public class Test {

	public static void main (String [] args ) {
		
		System.out.println("请输入一个正整数秒数:");
	
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		
		// 2.将正整数的秒数拆分为时分秒后并使用变量记录
		// 3666秒 => 1小时1分钟6秒钟
		// 3666 / 3600 = 1 小时     3666 % 3600 = 66 / 60 = 1 分钟     3666 % 60 = 6 秒钟 
		int hour = num / 3600;      // 拆分小时数
		int min = num % 3600 / 60;  // 拆分分钟数
		int sec = num % 60;         // 拆分秒数
		
		// 3.打印最终的拆分结果
		System.out.println(num + "秒转换为" + hour + "小时" + min + "分钟" + sec + "秒钟");

		
	}
}

案例四

/* 
	编程实现布尔类型的使用

 */
public class BooleanTest {

	public static void main (String args []) {
	
	//1.声明一个boolean类型的变量并初始化
	boolean b1 = true;
	//2.打印变量的数值
	System.out.println("b1 = " + b1);// b1 = true
	
	System.out.println("-----------------------------------");
	//3.修改变量b1的数值   = 是赋值运算符,用于将等号右边的数据赋值给左边的变量,覆盖掉原来的变量
	b1 = false;
	System.out.println("b1 = " + b1);// b1 = false
	
	System.out.println("-----------------------------------");
	b1 = 1; // 错误: 不兼容的类型: int无法转换为boolean
	System.out.println("b1 = " + b1);// b1 = 
	
	}
}

案例五

/*
	编程实现字符类型的使用
 */
public class CharTest {

	public static void main(String args []) {
		// 1.声明一个char类型的变量并初始化
		char c1 = 'a';
		// 2.打印变量的数值
		System.out.println("c1 = " + c1); // c1 = a 打印c1是一个字符类型
		System.out.println("对应的编号是:" + (int)c1);// 对应的编号是:97
		
		System.out.println("-------------------------------------------------");
		// 3.声明一个char类型的变量并初始化
		char c2 = 98;
		System.out.println("c2 = " + c2); // c2 = b 打印c2是一个字符类型
		
		System.out.println("-------------------------------------------------");
		// 3.使用unicode字符集来表示一下我的名字 裴家奇 对应的编号是: \u88f4 \u5bb6 \u5947
		char c3 = '\u88f4';
		char c4 = '\u5bb6';
		char c5 = '\u5947';
		System.out.println("最终的结果是:" + c3 + c4 + c5);
		
		System.out.println("-------------------------------------------------");
		// 4.特殊字符的使用 反斜杠具有转义功能
		System.out.println("我想过过\"过过过过的生活");
		System.out.println("我想过过\'过过过过的生活");
		System.out.println("我想过过\\过过过过的生活");
		System.out.println("我想过过\n过过过过的生活");
		System.out.println("我想过过\t过过过过的生活");
		
		
		
	}
}

案例六

public class DataByteTest01{
	public static void main(String args []){
		//char数据类型,2个字节bytes
		char a = 'a';
		a='国';
		System.out.println("输出的内容是"+a);
		char c1='n';
		System.out.println(c1);
		char c2='\n';//换行符
		System.out.println("这是一个什么符号"+c2);
		char c3='t';
		char c4='\t';//制表符
		System.out.print(c3);
		System.out.println(c4+"这是一个什么符号");
		char c5 = '\\';//普通的反斜杠
		System.out.println(c5);
		
	
	}

}

案例七

public class DataByteTest02{
	public static void main(String args []){
		int q=10;
	    int w=010;
	    int l=0x10;
		System.out.println(q);
		System.out.println(w);
		System.out.println(l);
		double dd =10/3;
		long g = 10;
		int h =(int)(g/3);
		System.out.println(dd);
		System.out.println(h);
	}
}

案例八

/*
	编程实现浮点类型使用
 */
public class DoubleTest {

	public static void main(String args []) {
		// 1.声明一个float类型的变量并初始化
		//float f1 = 3.145926; // 错误: 不兼容的类型: 从double转换到float可能会有损失。小数数据叫做直接量,默认为double类型
		float f1 = 3.1415926F;
		// 2.打印变量的数值
		System.out.println("f1 = " + f1); // f1 = 3.1415925 一般是7位有效数字
		
		System.out.println("---------------------------------------------------");
		
		// 3.声明一个double类型的变量并初始化
		double d1 = 3.1415926;
		System.out.println("d1 = " + d1); // d1 = 3.1415926 一般是15位有效数字
		
		System.out.println("---------------------------------------------------");
		// 4.笔试考点
		System.out.println(0.1+0.2); // 0.30000000000000004  运算时可能会出现误差,若希望实现精度运算则借助java.math.BigDecimal类型
		
		
		
	}
} 

案例九

/*
	编程实现整数类型使用
 */
public class IntTest {

	public static void main (String args []) {
	
		// 1.声明一个byte类型的变量并初始化
		byte b1 = 25; // 数据值在-128-127范围内,为了方便允许int类型自动转换byte
		//byte b2 = 250; //  错误: 不兼容的类型: 从int转换到byte可能会有损失。250这样直接写出的整数型数据叫做直接量/常量/字面值  默认为int类型
		// 2.打印变量的数值
		System.out.println("b1 = " + b1);
		
		System.out.println("----------------------------------------------");
		// 3.声明一个short类型变量并初始化
		short s1 = 250;
		//short s2 = 250250;// 错误: 不兼容的类型: 从int转换到short可能会有损失
		System.out.println("s1 = " + s1);
		
		System.out.println("----------------------------------------------");
		// 4.声明一个int类型变量并初始化
		int i1 = 250250;
		//int i2 = 2502505006; //  错误: 过大的整数: 2502505006
		System.out.println("i1 = " + i1);
		
		System.out.println("----------------------------------------------");
		// 5.声明一个long类型的变量并初始化,若描述比long类型还大的数据则使用java.math.BigInteger类型
		long g1 = 2502505006L;
		System.out.println("g1 = " + g1);
		
		System.out.println("----------------------------------------------");
		// 6.请问下面的代码是否有错误?如有请指出并说明原因
		int i3 = 25;
		byte b3 = i3; // 错误: 不兼容的类型: 从int转换到byte可能会有损失。不知道i3的具体字面值,i3是一个int类型的变量
		System.out.println("b3 = " + b3);
		
	}
}

案例十

/*
	编程实现基本数据类型之间的实现

*/
public class TransFormTest {
	
	public static void main(String args []) {
	
		//1.声明两个变量并初始化
		byte b1 = 10;
		short s1 = 20;
		//2.打印变量数值
		System.out.println("b1 = " + b1);// b1 = 10
		System.out.println("s1 = " + s1);// s1 = 20
		
		System.out.println("-------------------------------------");
		//3.实现自动类型转换的使用
		s1=b1;// 表示将变量b1的数值赋值给变量s1.并覆盖掉变量s1中的数值,相当于从byte类型转换到short类型,小到大,自动转换
		System.out.println("b1 = " + b1);// b1 = 10
		System.out.println("s1 = " + s1);// s1 = 10
		
		System.out.println("-------------------------------------");
		//4.实现强制类型转换的使用
		//表示将变量s1的数值赋值给变量b1,并覆盖掉变量b1中的数值,相当于从short类型转换到byte类型,大到小,强制类型转换
		//b1 = s1;// 错误: 不兼容的类型: 从short转换到byte可能会有损失                   (强制转换为byte,byte只有1个字节,8个比特位)
		s1 = 128;//故意加改行代码,128在short的整数范围内,占位2个字节,16个比特位,0000 0000 1000 0000 => 1000 0000 => (1以为是符号位代表负数) => 0111 1111 => 1000 1000 => 128 => -128
		b1 = (byte)s1;
		System.out.println("b1 = " + b1);// b1 = -128
		System.out.println("s1 = " + s1);// s1 = 128
		
	}
}

你可能感兴趣的:(java,java,jvm,开发语言)