3.1常见的运算符和表达式
3.1.1 赋值【=】
3.1.2 算术【+ - * / % ++ --】
import java.util.Scanner;
public class SuanShuDemo1{
public static void main(String args[]){
//创建Scanner类的对象
Scanner read=new Scanner(System.in);
System.out.println("请输入第一个运算数字:");
int num1= read.nextInt();
System.out.println("请输入第二个运算数字:");
int num2= read.nextInt();
System.out.println("算术运算符的使用【+ - * / %】:");
System.out.println(num1+"+"+num2+"="+(num1+num2));
System.out.println(num1+"-"+num2+"="+(num1-num2));
System.out.println(num1+"*"+num2+"="+(num1*num2));
System.out.println(num1+"/"+num2+"="+(num1/num2));
System.out.println(num1+"%"+num2+"="+(num1%num2));
}
}
import java.util.Scanner;
public class SuanShuDemo2{
public static void main(String args[]){
//创建Scanner类的对象
Scanner read=new Scanner(System.in);
System.out.println("请输入第一个运算数字:");
int num1= read.nextInt();
System.out.println("num1=="+num1); // 10
// ++ 自动加1 [变量++ num1++] [先用后加]
//System.out.println("num1++=="+(num1++)); //10
//System.out.println("num1=="+num1); //11
// ++ 自动加1 [++变量 ++num1] [先加后用]
//System.out.println("++num1=="+(++num1));
//System.out.println("num1=="+num1);
// -- 自动减1 [变量-- num1--] [先用后减]
//System.out.println("num1--=="+(num1--)); //10
//System.out.println("num1=="+num1); //9
// -- 自动减1 [--变量 --num1] [先减后用]
System.out.println("--num1=="+(--num1)); //9
System.out.println("num1=="+num1); //9
}
}
3.1.3 关系【> < >= <= == !=】
import java.util.Scanner;
public class BiJiaoDemo{
public static void main(String args[]){
//创建Scanner类的对象
Scanner read=new Scanner(System.in);
System.out.println("请输入第一个运算数字:");
int num1= read.nextInt(); // 10
System.out.println("请输入第二个运算数字:");
int num2= read.nextInt(); //3
System.out.println("【比较运算符】【> < >= <= == !=】");
System.out.println(num1+">"+num2+"="+(num1>num2));
System.out.println(num1+"<"+num2+"="+(num1<num2));
System.out.println(num1+">="+num2+"="+(num1>=num2));
System.out.println(num1+"<="+num2+"="+(num1<=num2));
System.out.println(num1+"=="+num2+"="+(num1==num2));
System.out.println(num1+"!="+num2+"="+(num1!=num2));
System.out.println("((10+2)/2) > ((2*10)-8)=="+(((10+2)/2) > ((2*10)-8)));
}
}
3.1.4 逻辑【1.逻辑运算符 2.位运算符】
1 逻辑运算符 【|| && !】
||【逻辑或】–[短路或]
格式:【表达式A || 表达式B】 ,在某种情况下只判断表达式A,而不用判断表达式B,就能够得到这个逻辑运算的结果【短路】
||【逻辑或】的真值表
Op1 || Op2
True || true true
True || false true
Fales || true true
False || false false
当||【逻辑或】的左边表达式是true的时候,||【逻辑或】的右边表达式是不用计算。
&&【逻辑与】--[短路与]
格式:【表达式A && 表达式B】 ,在某种情况下只判断表达式A,而不用判断表达式B,就能够得到这个逻辑运算的结果【短路】
&&【逻辑与】的真值表
Op1 && Op2
True && true true
True && false false
Fales && true false
False && false false
当&&【逻辑与】的左边表达式是false的时候,&&【逻辑或】的右边表达式是不用计算。
public class LuoJiDemo{
public static void main(String args[]){
int num1=10;
int num2=0;
//java.lang.ArithmeticException: / by zero
//System.out.println(num1+"/"+num2+"="+(num1/num2));
// ||【逻辑或】--[短路或]
// 当||【逻辑或】的左边表达式是true的时候,||【逻辑或】的右边表达式是不用计算。
//boolean b=(num1>num2) || ((num1/num2)>1);
//boolean b=(num1<num2) || ((num1/num2)>1);
//System.out.println("b=="+b);
// &&【逻辑与】--[短路与]
//当&&【逻辑与】的左边表达式是false的时候,&&【逻辑或】的右边表达式是不用计算。
//boolean b=(num1<num2) && ((num1/num2)>1);
boolean b=(num1>num2) && ((num1/num2)>1);
System.out.println("b=="+b);
}
}
![逻辑非] 求反 !true== false !false==true
3.2 常见语句
1.判断语句【if switch】
if 语句
1.if(){}
2.if(){}else{}
3.if(){}else if(){}else if(){}…
4.if语句的嵌套
import java.util.Scanner;
public class IfDemo{
public static void main(String args[]){
//创建Scanner对象
Scanner read=new Scanner(System.in);
System.out.println("请输入一个年龄:");
//接收年龄值
int age=read.nextInt();
//if(){}
/*
if(age>0){
System.out.println("年龄值正常!!");
}
*/
//if(){}else{}
/*
if(age>0){
System.out.println("年龄值正常!!");
}else{
System.out.println("年龄值输入有误!");
}
*/
//if(){}else if(){}else if(){}.....
/*
if(age>0 && age<=10){
System.out.println("儿童!");
} else if(age > 10 && age <= 18){
System.out.println("少年!");
}else if(age >18 && age <=22){
System.out.println("青少年!");
}else{
System.out.println("年龄值输入有误!");
}
*/
//if语句的嵌套
if(age>0){
if(age > 200){
System.out.println("妖怪");
}else{
System.out.println("年龄值正常!!");
}
}else{
System.out.println("年龄值输入有误!");
}
}
}
switch语句
格式:switch(表达式){
case 常量1: java代码;[break;]
case 常量2: java代码;[break;]
case 常量3: java代码;[break;]
case 常量4: java代码;[break;]
default :java代码 ;[break;]
}
switch语句的表达式的结果的数据类型可以是 byte short char int,枚举类型,jdk7.0以后的可以有String【字符串类型】。
switch语句中的break语句的有无会直接影响执行结果。
import java.util.Scanner;
public class SwitchDemo{
public static void main(String args[]){
//创建Scanner对象
Scanner read=new Scanner(System.in);
System.out.println("请输入第一个运算数字:");
double num1=read.nextDouble();
System.out.println("请输入第二个运算数字:");
double num2=read.nextDouble();
System.out.println("请输一个运算符号【+ - * / %】:");
String op=read.next();
System.out.println("开始计算");
switch(op){
case "+": System.out.println(num1+"+"+num2+"="+(num1+num2));break;
case "-": System.out.println(num1+"-"+num2+"="+(num1-num2));break;
case "*": System.out.println(num1+"*"+num2+"="+(num1*num2));break;
case "/": System.out.println(num1+"/"+num2+"="+(num1/num2));break;
case "%": System.out.println(num1+"%"+num2+"="+(num1%num2));break;
}
}
}
2.循环【for while do{}while()】
2.1 for 与 while do{}while()
1.for循环
格式:
for(初始条件;判断条件;循环增量/减量){
需要被循环执行的java代码
}
增强的for循环
For(数组的数据类型 变量名称:被遍历的数据集合【数组/java集合】){
使用变量得到遍历出来的结果
}
public class ForDemo1{
public static void main(String args[]){
/*
for(初始条件;判断条件;循环增量/减量){
需要被循环执行的java代码
}
*/
//实例1:循环输出1--10的整数
for(int i=1;i<=10;i++){
System.out.println("i=="+i);
}
//实例2:循环输出10--1的整数
for(int j=10;j>=1;j--){
System.out.println("j=="+j);
}
//实例3:计算1--100的整数和【1+2+3+....+100==5050】
//定义一个保存和的变量
int sum=0;
for(int k=1;k<=100;k++){
sum=sum+k;
}
System.out.println("sum=="+sum);
//实例4:遍历数组
char chararray[]={'h','e','l','l','o'};
for(int a=0;a<chararray.length;a++){
System.out.println("chararray["+a+"]=="+chararray[a]);
}
/*
增强的for循环
for(数组的数据类型 变量名称 : 被遍历的数据集合【数组/java集合】){
使用变量得到遍历出来的结果
}
*/
for(char charvalue : chararray){
System.out.println("charvalue=="+charvalue);
}
}
}
2.2 while 与 do{}while()
while循环
格式:while(判断条件){
需要被循环执行的java代码
}
public class WhileDemo1{
public static void main(String args[]){
/*
while(判断条件){
需要被循环执行的java代码
}
先执行判断条件,如果判断条件的结果为true,那么就执行需要被循环执行的java代码
否则跳出循环
*/
//实例1:循环输出1--10的整数
//定义初始条件
int i=1;
while(i<=10){
System.out.println("i=="+i);
//给出循环增量
i++;
}
//实例2:循环输出10--1的整数
//定义初始条件
int j=10;
while(j>=1){
System.out.println("j=="+j);
//给出循环减量
j--;
}
//实例3:输出1--100的整数和
int k=1;
int sum=0;
while(k<=100){
sum=sum+k;
k++;
}
System.out.println("sum=="+sum);
//实例4:遍历数组
char chararray[]={'h','e','l','l','o'};
int a=0;
while(a<chararray.length){
System.out.println("chararray["+a+"]="+chararray[a]);
a++;
}
}
}
3.do{}while循环
格式:
do{
需要被循环执行的java代码
}while(判断条件);
public class DoWhileDemo1{
public static void main(String args[]){
/*
do{
需要被循环执行的java代码
}while(判断条件)
先执行需要被循环执行的java代码,然后再判断条件,
如果判断条件的结果为true,那么就继续执行需要被循环执行的java代码
否则跳出循环
*/
//实例1:循环输出1--10的整数
//定义初始条件
int i=1;
do{
System.out.println("i=="+i);
i++;
}while(i<=10);
//实例2:循环输出10--1的整数
//定义初始条件
int j=10;
do{
System.out.println("j=="+j);
j--;
}while(j>=1);
//实例3:循环输出1--100的整数和
//定义初始条件
int k=1;
int sum=0;
do{
sum=sum+k;
k++;
}while(k<=100);
System.out.println("sum=="+sum);
//实例4:遍历数组
char chararray[]={'h','e','l','l','o'};
int a=0;
do{
System.out.println("chararray["+a+"]="+chararray[a]);
a++;
}while(a<chararray.length);
}
}
1.for与while和do…while的区别?
for循环在中的时候,需要明确被循环的次数,
while和do…while,不需要明确循环次数。
2.while和do…while的区别?
While先判断后执行
do…while先执行后判断
相同条件下While比do…while会多执行一次
3.break与 continue
1.break 含义 打断 【跳出switch,跳出循环】
2.双层循环中如果出现在内层循环结构中,只中断内层循环,如果出现在外层,那么就中断外层循环。
public class BreakDemo1{
public static void main(String args[]){
//break 表示跳出switch语句,或者跳出循环
/*
for(int i=1;i<=10;i++){
if(i==5){
break;
}
System.out.println("i=="+i);
}
*/
//双层循环中如果出现在内层循环结构中,只中断内层循环,
//如果出现在外层,那么就中断外层循环
//外层循环
for(int i=1;i<=9;i++){
/*
if(i==5){
break;
}
*/
//内层循环
for(int j=1;j<=9;j++){
if(j!=5){
break;
}
System.out.println(i+"*"+j+"="+(i*j));
}
}
}
}
continue语句
continue 继续 出现在循环 【结束本次,进入下次循环】
public class ContinueDemo{
public static void main(String args[]){
//continue 表示结束本次循环,进入下一次
/*
for(int i=1;i<=10;i++){
if(i==5){
continue;
}
System.out.println("i=="+i);
}
*/
//外层循环
for(int i=1;i<=3;i++){
if(i==2){
continue;
}
//内层循环
for(int j=1;j<=3;j++){
System.out.println(i+","+j+" ");
}
}
}
}
4.return
return:return 语句的作用是从当前函数退出,并从那个函数返回一个值
1、返回函数结果
语法为:return+表达式
语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果。
return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值, 由return后面的参数指定。return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。
2、返回函数控制
语法为:return;
通常情况下return后面跟有表达式,但是并不是绝对的。此情况就是单纯的将控制权转交给主调函数继续执行。