一、基本数据类型

  1. JAVA中没有无符号的byte,short,int和long类型。
  2. char型变量的取值范围为0~65535。
  3. char字符可以用十六进制转义,如:'\u0061'表示字符a。
  4. float型与在C语言中不同,不能省略F或f后缀。
  5. 当把int型常量赋值给byte,short和char型变量时,不可超出这些变量取值范围,否则必须强制类型转换

二、数组

  1. 构成二维数组的一维数组不必有相同长度。
  2. 数组初始化 int a[][] = new int[3][6];
  3. 数组引用 a = b;表示使a中存放的地址被赋值为b中存放的地址。

三、按位运算

  1. 位运算符在操作逻辑型数据时,与逻辑运算符不同的是:位运算符要计算完值之后再给出运算结果。
  2. switch语句:一旦表达式的值和case常量值相等,则执行之后所有语句直到遇到break;为止。
  3. if和while条件判断语句的值只能是bool型。
  4. for语句可以和数据结合使用,格式为for(int i:a)  a为一维数组。
  5. 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);
            }
        }
    }
}