1.运算符
*,/,%,++x(--x)表示在使用x之前,先使x的值增(减)1,x++(x--)表示在使用x之后,使x的值增(减)1.
2.运算结果由计算过程中精度的高低决定,结果与精度最高的相同。
3.关系运算符:>,<,>=,<=,==,!=
4.逻辑运算符:&&,||,!
5.赋值运算符:=
6.位运算符
1)左面最高位是符号位,最高位是0表示正数,是1表示负数。
2)a.按位与运算:两个数字对应位都是1,则结果是1,否则为0.
b.按位或运算:两个数字对应位都是0,则结果是0,否则是1.
c.按位非运算:如果a对应位是0,则c的该位是1,否则是0.
d.按位异或运算:如果a,b对应位相同,则c的该位是0,否则是1.
public class example36 {
public static void main(String[] args) {
char a1 ='十',a2 ='点',a3 ='进',a4 ='攻';
char secret='A';
a1=(char)(a1^secret);
a2=(char)(a2^secret);
a3=(char)(a3^secret);
a4=(char)(a4^secret);
System.out.println("密文:"+a1+a2+a3+a4);
a1=(char)(a1^secret);
a2=(char)(a2^secret);
a3=(char)(a3^secret);
a4=(char)(a4^secret);
System.out.println("原文:"+a1+a2+a3+a4);
}
}
7.instanceof运算符:左面的操作符是一个对象,右面是一个类。
8.if语句
9.if-else语句
public class example40 {
public static void main(String[] args) {
int math=65,english=85;
if(math>60) {
System.out.println("数学及格了");
}
else {
System.out.println("数学不及格");
}
if(english>90) {
System.out.println("英语是优");
}
else {
System.out.println("英语不是优");
}
System.out.println("我在学习if-else语句");
}
}
10.switch开关语句(可以是byte,short,int,char,不能是long)
public class example42 {
public static void main(String[] args) {
int number=0;
System.out.println("输入一个整数,按回车确认。");
Scanner reader=new Scanner(System.in);
number=reader.nextInt();
switch(number) {
case 2:
case 23:
case 56:
case 58: System.out.println(number+"是三等奖!");break;
case 32:
case 99: System.out.println(number+"是二等奖!");break;
case 67: System.out.println(number+"是一等奖!");break;
default: System.out.println("抱歉,没有中奖。");
}
}
}
11.循环语句
for(表达式1;表达式2;表达式3){
若干语句;
}
12.while循环语句
while(表达式){
若干语句;
}
13.do-while语句
do{
若干语句;
}while(表达式)
14.
1)break语句:若某次中执行了break,则整个循环结束。
2)continue语句:若某次中执行了continue,则本次循环结束。
public class example46 {
public static void main(String[] args) {
int sum=0,i,j;
for(i=1;i<=10;i++) { //计算1+3+5+7+9
if(i%2==0) {
continue;
}
sum=sum+i;
}
System.out.println("sum="+sum);
for(j=2;j<=100;j++) {
for(i=2;i<=j/2;i++)
{
if(j%i==0)
break;
}
if(i>j/2) {
System.out.println(""+j+"是素数");
}
}}}
15.for语句与数组
for(声明循环变量:数组的名字){
...}
public class example47 {
public static void main(String[] args) {
int a[]= {1,2,3,4};
char b[]= {'a','b','c','d'};
for(int n=0;n
课本34页上有一个讲到byte x=(byte)30+'b';无法通过编译,因为其结果会变成int型,会超过byte的精度范围。注意赋值运算符是=,判断是否等值运算符是==。
刚开始直接看课本37页的密文代码,不懂为什么输入一串字符串输出来的字符串能够不一样,然后往前翻阅课本才发现原来用到的是按位的与,或和非运算,实现了将字符串输进去进行运算之后得到不一样的值。
这一章讲到的是比较考究逻辑的语句,if和else,因为有些时候条件会分得不是很清除,可能会提前判断了一个条件或者是漏掉了哪个条件。还有swicth语句的使用格式,注意case后面接的条件。