算术运算:X++与++X
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 3;
int y = 2;
/*
* int result3=x++; System.out.println(result3);//输出结果为3
* System.out.println(x);//输出结果为4
*
* int result4=++x; System.out.println(result4);//输出结果为4
* System.out.println(x);//输出结果为4
*
* x++; System.out.println(x);//先计算x=x+1;再将计算后的x赋值给x;结果为4
*
* ++x; System.out.println(x);// 先将x赋值给x,再计算x=x+1;结果为4
*/
// 不管x++还是++x,x计算后的值都为原x加1;而res=x++,res输出的是原x,res=++x输出的是原x加1
int res=(x++)+(x++)+(++x);
System.out.println(res);//结果为13:
System.out.println(x);//结果为6
//首先res=x++,此时x++表示先赋值后计算x=x+1,即先让x=3时res=3,再x=3+1=4;
//然后res=3+x++,此时x++表示先赋值后计算x=x+1,即先让x=4时res=3+4=7,再x=4+1=5
//最后res=7+(++x),此时++x表示先计算x=x+1后赋值,即先让x=5+1=6,再res=7+6=13
}
比较逻辑运算:与或非
package com.zbj.test;
public class compare {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 3;
int y = 5;
boolean bl = false;
/*
* bl=x>y; bl=x==y;//判断两值是否相等 bl=x!=y;//判断两值是否不等
* String str="abc";String str2="acb";
* bl=str==str2;//判断字符串是否相等
*/
bl = x > 4 && y > 4;// 与运算,都为true才返回true,否则false
System.out.println(bl + "与运算");
bl = x > 4 || y > 4;// 或运算,有一个为true则返回true,都为false才返回false;
System.out.println(bl + "或运算");
boolean b2 = !bl;// 取反,即非运算
System.out.println(bl + "非运算");
boolean bl3 = x++ > 4 && ++y > 4;// 与运算时,某个表达式为false,则后面的表达式不会再进行计算
System.out.println(bl3);
System.out.println(x);// x++后x值为4,不大于4,为false
System.out.println(y);// 前一个表达式为false故++y不进行运算,仍为5
/*
* boolean bl4=x++>4||++y>4;//或运算时,某个表达式为false,后面的表达式仍然会再进行计算
* System.out.println(bl4); System.out.println(x);//x++后x值为4,不大于4,为false
* System.out.println(y);//前一个表达式为false但++y仍然进行运算,计算后为6
*/}
}
条件运算:三目运算
public static void main(String[] args) {
// TODO Auto-generated method stub
//三目运算
int score=80;
String str=(score>60)?"及格":"不及格";//格式:"返回true时输出":"返回false时输出"
System.out.println(str);
String res=(score>60)?((score>90)?"优秀":"良好"):"不及格";
System.out.println(res);
//字符串拼接符+
String str1="abc";
String str2="def";
String str3=str1+str2;
System.out.println(str3);
int myInt=666;
String str4=str1+myInt;
System.out.println(str4);
System.out.println("这是一个整数 "+myInt);
/*//判断某个数在某区间
//错误写法:
boolean b1=333<data<999;
//正确写法:
boolean b2=data>333&&data<999;*/
}
IF,ELSE IF语句
public class Circl {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 小括号里必须是一个boolean值
if (true) {
System.out.println("输出值");
}
if (false) {
System.out.println("输出值");
}// 条件为false不执行
int score = 80;
if (score >= 90) {
System.out.println("奖励ipnone100");
}
/*
* //多个独立的if语句会对其都进行判断
* if(score>=80){ System.out.println("奖励ipnone80"); }
* if(score>=70){ System.out.println("奖励ipnone70"); }
*/
else if (score >= 80) {
System.out.println("奖励ipnone80");
} else if (score >= 70) {
System.out.println("奖励ipnone70");
}// if....else if..只要一个if成立,其他的将不再执行。这个else if 不会再执行
else {
System.out.println("才" + score + "分?" + "男女混合双打");
}
}
}
package com.zbj.test;
import java.util.Scanner;
public class ifif {
public static void main(String[] args) {
// ******如下输出键盘输入的信息:导入java.util.Scanner。Scanner类输入整型nextInt,字符串为nextLine,浮点型为nextFloat....
Scanner input = new Scanner(System.in);
System.out.println("请输入你的分数:");
int score = input.nextInt();
if (score <= 100 && score >= 90) {
System.out.println("优秀");
} else if (score < 90 && score >= 80) {
System.out.println("良好");
} else if (score < 80 && score >= 70) {
System.out.println("中");
} else if (score < 70 && score >= 60) {
System.out.println("及格");
} else if (score < 60 && score >= 0) {
System.out.println("不及格");
} else {
System.out.println("输入错误");
}
if (score >= 80) {
if (score >= 90) {
System.out.println("90分以上");
} else {
System.out.println("80分以上");
}
} else {
System.out.println("80以下");
}
}
}
WHILE 与DO WHILE循环
public class WHILE {
public static void main(String[] args) {
// while()里和if一样值能是个boolean值
int i = 1;
while (i <=5) {
System.out.println("GTMDACE!");
i++;// 从i=2时开始打印,打印5次后i=6,条件不成立,跳出循环
System.out.println(i);
}
int j = 1;
do {//先进行循环操作,再判断条件
j++;
System.out.println("HOVER YOUR WINGS!");
System.out.println(j);
} while (j <= 5);
System.out.println("跳出循环");
}
}
FOR循环及其内嵌
public class FOR {
public static void main(String[] args) {
//for(循环变量初始化;循环条件;循环变量变化){循环时操作}
for(int i=1;i<=5;i++){
System.out.println("GTMDACE!");
System.out.println(i);//这里是从i=1时开始循环而不是2了,i=1时满足条件可以循环,
//i=6时不满足条件不能进入循环,但总数都是5次
}
/*for (int i = 0; i <= 5; i++) {
if (i == 2) {// 双等号
break;// 跳出整个循环,i=2后面的都不打印
}
System.out.println("i =" + i);
}*/
for (int i = 0; i <=5; i++) {
if(i==2){
continue;//跳出这个循环,i=2不打印,继续
}
System.out.println("i ="+i);
}
}
}
public static void main(String[] args) {
/*//打印直角三角形
* for (int i = 0; i <4; i++) {//外循环
* for (int j = 0; j<3; j++) {//内循环
* System.out.println(j); }
* System.out.println("i ="+i);//内循环循环完一次,外循环执行一步 }
*/
for (int i = 0; i < 5; i++) {// 外循环
for (int j = 0; j <=i; j++) {// 内循环
System.out.print("*");//print不是println,表示不换行
}
System.out.println();
}
}
}
public static void main(String[] args) {
/*//打印直角三角形
* for (int i = 0; i <4; i++) {//外循环
* for (int j = 0; j<3; j++) {//内循环
* System.out.println(j); }
* System.out.println("i ="+i);//内循环循环完一次,外循环执行一步 }
*/
for (int i = 0; i < 5; i++) {// 外循环
for (int j = 0; j <=i; j++) {// 内循环
System.out.print("*");//print不是println,表示不换行
}
System.out.println();
}
}
}
SWITCH CASE语句
import java.util.Scanner;
public class switchh {
public static void main(String[] args) {
// swich()括号里的数据只能是int,string 和枚举类型,char也可以,可以是表达式
// case后面的值只能是常量值和常量表达式,与小括号值类型一致
// break用来跳出swtich语句,删掉则会执行完一条case后继续执行下一条满足条件的case
// 不能直接用来做判断前面if里范围内的值,只能是个确定值
//输入swi即可按alt+/快速提示打出case等....
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数:");
int num = scanner.nextInt();
// 这里用输入的分数除以10,得到一个int值(可以强制转换为int),可做到前面if例子的效果
switch (num / 10) {
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中");
break;
case 6:
System.out.println("及格");
break;
case 5://都满足条件,且输出结果一样,可用以下方式合并
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:// 相当于if语句里得的else,其他条件不成立时执行
System.out.println("输入错误");
break;
}
System.out.println("跳出swtich");
}
}