案例一
/*
编程实现变量的输入输出
*/
//导入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
}
}