1.算术运算符类型
2.自增和自减注意事项
int j=8;
int k=++j;//等价于j=j+1;k=j;
int k=j++;//等价于k=j;j=j+1;
3.代码运算与数学运算
class Dog{
public static void main(String[] args){
double tem1=123.4;
double tem2=5.0/9*(tem1-100);
double tem3=(double)5/9*(tem1-100);
System.out.println(tem2);
System.out.println(tem3);
}
}
4.逻辑运算符
5.与、或运算,异或
(1)短路与(&&):第一个条件为false,不判断第二个,结果为false,效率高
(2)逻辑与(&):都要判断,效率低
(1)短路或(||):第一个条件为true,不判断第二个,结果为true
(2)逻辑或(|):两个条件都要判断
异或:相同为假,相异为真
6.复合赋值运算符会有类型强转
byte b=2;
b+=2;//等价(byte)(b=b+2)
b++;//等价(byte)(b=b+1)
7.标识符命名规范
8.。键盘输入
需要导入java.util.Scanner
9.进制
二进制:0b或0B开头
八进制:0开头
十六进制:0x或0X表示
10.原码反码补码
符号位0为正数,1为负数,0的反码、补码都是0
正数三码都一样
负数反码=原码除符号位取反,负数补码=反码+1
11.计算机运算以补码方式运算,看运算结果要看原码
例:2&3先得到2和3的补码,补码相与结果为补码,由补码得到原码,原码对应的为答案
12.位运算符
13.选择结构-if
if(条件){ 代码1
}
else if(条件2){代码2
}
else(条件3){代码n
}
选择结构可以没有else,都不符合条件则不输出(没有执行入口)
有else则不符合所有条件直接输出else对应的语句
14.选择结构-switch
switch(表达式){
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
...........
case 常量n:
语句块n;
break;
default:
default语句块;
break;
}
//表达式(返回值:byte,short,int,char,enum,String)与常量数据类型应当一致
或为可以自动转换的类型
//case子句表达式必须是常量或常量表达式
//没有break程序会继续执行到switch末尾
//将字符串取第一个字符 变成char
15.循环语句-for
for(循环变量初始化;循环条件;循环变量迭代){
循环操作;
}
//for循环外还需使用变量时,可在外边定义,两边分号不能省略
//for(; ; ){}
//for(;;){} 死循环
16.循环-while、do-while
while语句结构:
循环变量初始化;
while(循环条件){
循环体;
循环变量迭代;
}
do-while语句结构:
循环变量初始化;
do{
循环体;
循环变量迭代;
}while(循环条件);
while:先判断后执行
do-while:先执行再判断
class Dog{
public static void main(String[] args){
int i=1;
int sum=0;
do{
i+=1;
sum+=i;
}while(i<=100);
System.out.println(sum);
}
}
17.多重循环过程举例
for(i=1;i<2,i++){
for(j=1;j<3;j++){
System.out.println(i,j);
}
}
//1.先进i循环,i=1符合条件,进j循环
2.j=0符合条件,输出0,0
3.执行j=j+1,j=1符合条件,输出0,1
4.执行j=j+1,j=2符合条件,输出0,2
5.执行j=j+1 ,j=3不符合条件,退出j循环,回到i循环
6.执行i++,i=2符合条件,进入j循环
7.输出1,0 1,1 1,2后退出j循环,回到i循环
8.执行i=i+1,i=2不符合条件,退出i循环,程序结束
//结果输出:0,0 0,1 0,2 1,0 1,1 1,2
18.3个班级15个学生的成绩、班级总分平均分、总分平均分,及格人数
import java.util.Scanner;
public class Hello{
public static void min(String[] args){
Scanner myScanner=new Scanner(System.in);
double total=0;
int passNum=0;
for(int i = 1; i <= 3; i++){
double sum=0;
for(int j=1;j<=5;j++){
System.out.println("请输入第"+i+"个班级第"+j+"个学生的成绩");
double score=myScanner.nextDouble();
if(score>=60){
passNum++;
}
sum+=score;
}
total+=sum;
System.out.println("班级总分"+sum+"班级平均分为"+(sum/5));
}
System.out.println("总分为"+total+"平均分为"+(total/15));
System.out.pringln("及格人数为"+passNum);
}
}
import java.util.Scanner;
public class Hello{
public static void main(String[] args){
Scanner myScanner=new Scanner(System.in);
double total=0;
int passNum=0;
for(int i=1; i <=3; i++){
int sum=0;
int ave=0;
for(int j=1; j<=5; j++){
System.out.println("请输入第"+i+"个班级第"+j+"个学生的成绩");
double score=myScanner.nextDouble();
if(score>=60){
passNum+=1;
}
sum+=score;
ave=sum/5;
}
total+=sum;
System.out.println("第"+i+"个班级总分为"+sum+"平均分为"+ave);
}
System.out.println("总分为"+total+"平均分为"+(total/15));
System.out.println("及格人数为"+passNum);
}
}
19.输出金字塔
publiuc class Hello{
public static void main(String[] args){
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++){
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++){
System.out.println("*");
}
}
}
}
public class Hello{
public static void main(String[] args){
for(int i=1;i<=5;i++){
for(int k=(5-i);k>=0;k--){
System.out.print(" ");
}
for(int j=1;j<=(2*i-1);j++){
System.out.print("*");
}
System.out.println(" ");
}
}
}
20.输出空心金字塔
public class Hello{
public static void main(String[] args){
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++ ){
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++){
if(j==1||j==2*i-1||i==5){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(" ");
}
}
}