一、基本数据类型
- JAVA中没有无符号的byte,short,int和long类型。
- char型变量的取值范围为0~65535。
- char字符可以用十六进制转义,如:'u0061'表示字符a。
- float型与在C语言中不同,不能省略F或f后缀。
- 当把int型常量赋值给byte,short和char型变量时,不可超出这些变量取值范围,否则必须强制类型转换
二、数组
- 构成二维数组的一维数组不必有相同长度。
- 数组初始化 int a[][] = new int[3][6];
- 数组引用 a = b;表示使a中存放的地址被赋值为b中存放的地址。
三、按位运算
- 位运算符在操作逻辑型数据时,与逻辑运算符不同的是:位运算符要计算完值之后再给出运算结果。
- switch语句:一旦表达式的值和case常量值相等,则执行之后所有语句直到遇到break;为止。
- if和while条件判断语句的值只能是bool型。
- for语句可以和数据结合使用,格式为for(int i:a) a为一维数组。
- hasNextDouble为Scanner类中对象的方法,当输入数据为double型时,返回值为1。
习题:
2.4.1
public class Practice2_4_1 { public static void main(String args[]) { System.out.println("你的位置为:"+(int)'你'); System.out.println("我的位置为:"+(int)'我'); System.out.println("他的位置为:"+(int)'他'); } }
2.4.2
public class Practice2_4_2 { public static void main(String args[]) { int i; for(i=(int)'α';i<=(int)'ω';i++) { System.out.print((char)i+" "); } } }
3.4.1
public class Practice3_4_1 { public static void main(String args[]) { int i = 1,prod = 1,sum = 0; for(i=1;i<=10;i++) { prod = prod*i; sum = sum + prod; } System.out.println(sum); } }
3.4.2
public class Practice3_4_2 { public static void main(String args[]) { int flag; for(int i=2;i<=100;i++) { flag = 0; for(int j=2;j<i;j++) { if(i%j==0) { flag = 1; break; } } if(flag==0) { System.out.println(i); } } } }
3.4.4
public class Practice3_4_4 { public static void main(String args[]) { int sum; for(int i=2;i<=1000;i++) { sum = 0; for(int j=1;j<i;j++) { if(i%j==0) { sum = sum+j; } } if(i==sum) { System.out.printf("%d ",i); } } } }