一元运算符(只对一位操作数) i只是变量 ++(--)是运算符
i++; <二> i+=1 <二>i=i+1; //先使用后对自身加1 int i=1; int b=i++; b=1 i=2(先给b在+1)
++i; <二> i+=1 <二>i=i+1; //先对自身加1后使用 int r=1; int b=++r; b=2 r=2 (先+1在给b)
i--;//意思跟i++类似
--i;//意思跟++i类似
二元运算符(只对两位操作数)
(+ - * / %)
三元运算符
if(a>100){
c=200;
}else{
c=500;
}
<二>等价于
int a=100
int c=a>100 ? 200:500;
4.3 while循环语句 先判断再执行
符合条件,循环继续执行;否则,循环退出。
格式:while(循环条件){循环操作}
|
| 假
----循环条件--------》
^ |
| 真|
| |
<----循环操作
例子:当1小于等于10时循环输出文字"循环"显示i的数值并把i数值+1,i大于10时输出"循环完毕"
public class AA{
public static void main(String[] args){
int i=0;
while(i<=10){//条件为i<=10,成立时执行循环。大于10后就不执行本循环
System.out.println("循环");
System.out.println(i);
i++;//i+1
}System.out.println("循环完毕");
}
}
4.4 实例:累加求和
循环三要素:
1) 循环变量初始化 int i=0;
2) 循环的判断条件 while(i<=10)
3) 循环体中改变的循环变量的值
循环在哪里使用?
1)重复执行的代码
2)相近或相似的代码,其中变化的地方是有规律的
算1+2+3.....+100的和
public class AA{
public static void main(String[] args){
int i=1;
int ii=0;
while(i<=100){//条件为i<=100,成立时执行循环。大于10后就不执行本循环
ii=ii+i;
i++;//i+1;
}System.out.println(ii);
}
}
4.5 实例:求学员平均成绩
在while中声明的变量为局部变量,只能在while里使用
题目:录入班级人数和学院成绩,计算班级学员的平均成绩
import java.util.*;
public class AA{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入班级学生人数");
int renshu=in.nextInt();
int i=1;
int fenshu=0;
while(i<=renshu){
System.out.println("请输入第"+i+"个学生成绩");
int a=in.nextInt();
fenshu=fenshu+a;
i++;
}
int pingjunfun=fenshu/renshu;
System.out.println("当前班级人数为;"+renshu+" 总分为:"+fenshu+" 平均分为:"+pingjunfun);
}
}
public class AA{
public static void main(String[] args){
int i=80000;
int nian=2006;
while(i<=200000){
i=i+(i/100*25);
nian++;
}
System.out.println(nian+"年将达到20万人");
}
}
举例:4.6题
public class AA{
public static void main(String[] args){
int i=80000;
int nian=2006;
do{i=i+(i/100*25);
nian++;
}while(i<=200000);
System.out.println(nian+"年将达到20万人");
}
}
4.8 实例:猜数字游戏
import java.util.*;
public class AA{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int diannao=(int)(Math.random()*100)+1;
int shuzi;
do{
System.out.println("请猜一下电脑随机生成的数是多少?(0-100)");
shuzi=in.nextInt();
if(shuzi>100){
System.out.println("请输入有效数字");
}else if(shuzi<0){
System.out.println("请输入有效数字");
}else if(shuzi>diannao){
System.out.println("你输入的数字大了");
}else if(shuzi<diannao){
System.out.println("你输入的数字小了");
}
}while(shuzi!=diannao);
System.out.println("恭喜你猜对了");
}
}
import java.util.*;
public class AA{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int chengji=0;
for(int i=0;i<5;i++){
System.out.println("请输入你的第"+(i+1)+"个成绩");
int cheng=in.nextInt();
chengji=chengji+cheng;
}
System.out.println("5门课程的总成绩为:"+chengji+" 平均分为:"+chengji/5);
}
}
4-16 for循环结构练习
例子:
import java.util.*;
public class AA{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数值");
int shuzhi=in.nextInt();
if(shuzhi<=0){
System.out.println("请输入0以上的数值");
}else if(shuzhi>=100){
System.out.println("请输入100以内的数值");
}
for(int i=0,j=shuzhi;i<=shuzhi&&shuzhi>0&&shuzhi<100;i++,j--){
System.out.println(i+"+"+j+"="+(i+j));
}
}
}
作业:随机产生100个0-100之间的整数,每个整数代表某个学生的成绩,计算出这些成绩的平均值。
public class AA{
public static void main(String[] args){
int chengji=0;
for(int i=0;i<100;i++){
chengji=chengji+(int)(Math.random()*100);
}System.out.println("平均分为:"+chengji/10+"分");
}
}