一.基础内容
1.运算符与表达式和C的基本一样
这里要补充的是以前没弄懂的位运算符:
a.按位与运算符&是双目运算符,对两个整型数据按位进行运算,运算的结果也是一个整型数据,其运算法则是:如果两个数据对应位都是1,则结果的该位是1,否则是0
例子:
m:00000000 00000000 00000000 00000111
n:10000001 10100101 11110011 10101011
结果y:00000000 00000000 00000000 00000011
b.按位或运算符|是二目运算符,运算法则和&类似
c.按位非运算符~是单目运算符,对一个整型数据a按位进行运算
d.按位异或运算符^是二目运算符,运算法则:如果两个数据对应位相同,则结果的该位是0,否则是1
2.新增运算符:instanceof运算符
该运算符是二目运算符,左面的操作元是一个对象,右面的是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符的结果是ture,否则是false
3.基本语句
这里和C完全相同。但java提供了遍历数组循环语句:for(声明循环变量:数组的名字){…}
二.实践经验积累
本人认为本章的重点其实是为了给我们学习和设计算法打下一个基础,我们要学会将学到的算法转移到这里来,或者利用java的特性设计出新的算法,其实,程序设计,算法是最关键的地方,也是最难突破的地方。
例子:编写一个应用程序求100以内的全部素数
import java.util.Scanner;
public class Part3_4_2
{
public static void main(String args[])
{
int start , end ;
Scanner reader = new Scanner(System.in);
end = reader.nextInt();
int n = 0;
int i = 0;
for (start = 1; start < end; start += 2)
{
int k = (int) Math.sqrt(start);
for (i = 2; i <= k; i++) {
if (start % i == 0)
break;
}
if (i >= k + 1)
{
System.out.println(start);
n++;
}
}
}
}