数据类型与变量部分:
Java 的整形家族比 C 多了 byte 类型
Java 的整形数据类型的二进制均为有符号整形,最左边的均为符号位,所以数据表达范围是 [-pow(2,n),pow(2,n - 1)]
Java 的 boolean 类型与整形类型并没有关联(如 非0 不再代表 true 、0 不再代表 false)
Java 由类型的加大版本,可以理解为有更多的功能 ,如 Integer、Character、Long、Short、Byte、Float、Double、Boolean
Java 的加大版本可以用来打印最大值,如:System.out.println(Character.MAX_VALUE);和最小值 System.out.println(Character.MIN_VALUE);
string 转为 整形:
String str = "123";
int a = Integer.parseInt(str);
System.out.println(a);
long d = Long.parseLong(str);
System.out.println(d);
整形 转为 string:
int num = 10;
String s1 = num +"";
System.out.println(s1);
String s2 = String.valueOf(num);
System.out.println(s2);
字符串拼接:
String str = "hello";
System.out.println(str);
String str2 = "world";
System.out.println(str2);
// 拼接
String str3 = str + str2;
System.out.println(str3);
浮点家族默认为 double 类型,所以当表达 float 类型时需要
float = 12.5F;
long 类型也要加后缀:
long a = 10L;
整形计算时一般都先转为4个字节计算
public static void main() {
byte a = 10;
byte b = 20;
int c = a + b;
byte d = (byte)(a + b);
System.out.println(c);
}
程序逻辑控制部分:
注意课后习题:打印水仙花数、1 - 100 之间的素数、猜数字(特别注意随机数的生成)
用迭代解决斐波那契数列
switch 中的 case 可以跟 字符串
public static void main() {
int a = 0;
String str = "abcd";
switch(str) {
case "abcd":
System.out.println("1");
break;
default:
System.out.println("匹配失败");
break;
}
}
输入输出部分:
Java 是如何进行输入的:
Scanner scanner = new Scanner(System.in);
int n = scanner next.Int();
如何进行多组输入:
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()) {
int n = scanner.nextInt();
}
Scanner in = new Scanner(System.in);
while(in.hasNextInt()) {
int n = in.nextInt();
}
hasNext 与 hasNextLine 的区别:
String name = scanner.nextLine();//读取一行,包括多个空格
String name = scanner.next(); //遇到空格就读取结束
用完输入后要 close :
scanner.close();
输出的特别的方法:
System.out.println("姓名: "+name);
int a = 10;
System.out.println("a = " + a);// a = 10
int b = 20;
System.out.println("b = " + b);// b = 20
System.out.println("a + b = " + (a + b));// a + b = 30
System.out.println("a + b = " + a + b);// a + b = 1020
System.out.println(a + b+"a + b = ");// 30a+b=
方法部分:
方法的重载(参数不一样(或返回类型不一样),其他可以一样):
Java 没有类似 C 语言的传址调用,不能实现交换两个数类似的方法
用递归解决汉诺塔问题:
注意用递归解决打印一个数的每位数
用递归打印每一个数的每位数之和