笔记 1. 你要应该会的内容是什么? 1. 变量的作用什么? 用于存储常量值,可以重复使用,并给常量值提升阅读性。 2. 划分数据类型的目的是什么? 对不同类型数据进行区分,便于与不同类型数据进行操作。 3. 整数类型和小数类型的默认类型是什么?默认类型指的是什么? 整数默认是int 小数默认是double,默认类型指的是在内存中默认使用int或者double进行整数和小数的存储。 4. byte b = 4;//4既然默认是整数,为什么可以赋值给byte类型的变量b呢? 编译器会对常量值进行判断,如果常量值在byte范围之内,会自动转换成byte类型存储到byte变量中。 当然,如果无法判断这个值,编译器会报错。 5. 有两个类型定义需要有标识要知道。 long l = 200000000L; float ff = 3.4f; 6. char类型使用的编码表是unicode码表。编码表是:计算机中的二进制和生活中文字的对应关系表。 7. 程序最基本的功能就是处理数据。最基础三个动作:输入数据 处理数据 反馈结果 在基础班,最常用的输出System.out.println();输出语句。 最常用的输入就是扫描器java.util.Scanner sc = new java.util.Scanner(System.in); java.util.Scanner是包名.类名。也是全类名。 为了简化类名的书写,在class的上面先通过import关键把要用的类导入进来。import java.util.Scanner 该扫描器个我们提供了很多功能。 sc.next();获取录入的数据返回字符串。 sc.nextInt();获取录入的数据转成int类型的值。 sc.nextDouble();获取录入的数据转成double类型的值。 如果转换失败会出现 java.util.InputMismacthException 输入不匹配异常。这时需要你更改输入的数据,保证数据的合法性。 友情提示:先做到会用很重要,先不要纠结于它为什么这么写!能解决什么问题以及如何解决的问题才是你真正要关注的。 8. 类型转换。 不同数值类型直接在运算时,会存在类型转换。原则:就是空间小的和空间大的运算,小的会向大的提升。 比如 byte b = 4; b = b + 5; b+5是不同类型运算。b会先提升成int类型再和5运算。但是运算后是int类型就无法在赋值给b,所以会报错。 因为编译器无法检查运算的结果是否在b类型范围内。 强制类型转换,举例应用场景:把小数保留整数部分。可以用强制转换 int x = (int)56.7; 9. 实战应用练习: 对于需求中给定数据,应该用什么类型进行存储呢? 学生的信息: 姓名:name 年龄:age 性别:sex 身高:height 籍贯:address 手机号:phone 书籍信息: 书名: name 单价: price 作者: author 出版社:publisher 练习: 1.获取两个数中较大的值。
package Demo;
//获取两个数中较大的值;
import java.util.Scanner;
public class demo03_Operate {
public static void main(String[] args) {
// long timeMillis = System.currentTimeMillis();
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数=");
int a = sc.nextInt();
System.out.println("请输入第二个数=");
int b = sc.nextInt();
System.out.println(a>b?a:b);
int e = a > b ? a : b;
System.out.println("a和b的最大值为"+e);
System.out.println("请输入数值c=");
int c = sc.nextInt();
System.out.println("a.b.c的最大值="+(c>e?c:e));
}
}
2.获取三个数中的最大值。 3.将10000秒转成XX小时XX分钟。 4.将系统时间转成时分秒格式。 //距离1970年1月1日0时0分0秒的毫秒值。 1秒 = 1000毫秒。1分=60秒。 long timeMillis = System.currentTimeMillis();
package Demo;
//将系统时间转成时分秒格式。
public class demo05_Operate {
public static void main(String[] args) {
long timeMillis = System.currentTimeMillis();
long a = timeMillis /1000;
long b = a % 60;
long c = a / 60%60;
long d = a / 60/60%24;
System.out.println(d+"小时"+c+"分钟"+b+"秒");
}
}
5.练习3: 计算闰年。 什么是闰年? 普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。 世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
第一种方法:
package Demo;
//计算闰年。
import java.util.Scanner;
public class demo06_Operate {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份");
int year = sc.nextInt();
if (year%100>0)
{
if (year % 4 == 0)
{
System.out.println(year+"为闰年");
}
else{
System.out.println(year+"不是闰年");
}
}
else{
System.out.println(year+"不是闰年");
}
}
}
第二种方法:
package demo.demo1;
import java.util.Scanner;
//判断闰年
//
public class Text03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份");
int year = sc.nextInt();
System.out.println(year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
}
}