Ø 判断结构
Ø 1String的功能
v 获取字符串的长度:
String s ="dasdasdsa";//先定义一个字符串
int n= s.length(); //在写字符串的长度 长度为整型,所以为int 长度不能是小数
System.out.println("他的长度是:" +n); //输出长度为9
v 随机数
import java.util.Random; //先导包
//创建变量
Random r =new Random ();
int m= r.nextInt(100);//0-99之间的随机数
System.out.println("随机数 是:" + m);
v 获取键盘上的输入
v import java.util.Scanner; //先导包,不要忘记他
//创建获取键盘上的输入
Scanner input =new Scanner (System.in);
System.out.println("请输入一个数:");
int n =input.nextInt(); //等待输入一个数
System.out.println("n*n ="+n*n);
System.out.println(n+n+"=n+n");
System.out.println("n/n="+n/n);
System.out.println("n%n="+n%n);
1 什么是块?
一对大括号!
2 无名块
例如在main方法中打一对大括号,就是无名块了。
3 变量的有效范围
从定义处开始,到包含它的块的end大括号!
import java.util.Scanner;
//创建获取键盘的输入
Scanner input =new Scanner (System.in);
System.out.println("请您输入一个数");
int n = input.nextInt(); //等待输入一个数
if(n>30){
if (n%6==0) {
System.out.println("大于30啦 ");
System.out.println("嘿嘿恭喜啊!");
}else{
System.out.println("太小了");
}
}
}
}
1if语句(1)
格式:
if(条件,即boolean类型) { 0 ~ n条语句 } |
² 注意,if管辖一个块,如果圆括号中的条件为true,执行块内所有代码;如果条件为false,块里的代码一行也不会执行。
2if语句(2)
if (条件) { 0 ~n } else { 0 ~ n } |
如果条件为真,执行if块代码,否则执行else块代码。
Import java.util.Scanner;
Scanner input =new Scanner (System.in); //获取键盘的输入
int number =input.nextInt(); //卡死,等待输入一个数
if (number % 2 ==0) {
System.out.println("偶数");
}else {
System.out.println("奇数");
}
}
}
int a =10;
if (a>30) {
System.out.println("a");
}else if(a>50) {
System.out.println("s");
}
}
}
/*
自上而下进行判断
1 如果条件1为真,那么就执行它的块,然后退出整个if!否则去判断条件2。
2 如果条件2为真,那么就执行它的块,然后退出整个if!否则去判断条件3
3 以此类推!
4 如果还有else块,并且上面所有的条件都是false,那么执行else块。
*/
/*
if(条件1) {
} else if(条件2) {
} else if(条件3) {
} ...
else {
}\
*/
Ø if语句(3)
if(条件1) { } else if(条件2) { }… else if(条件n) { } else { } |
l If是否可以单独存在?
l else 是否可以单独存在?不行!
l 多个if之间是否相互排斥!
if语句特点:
a,每一种格式都是单条语句。
b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。
c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者 false;
int age =10; if (age>11) { System.out.println("大于1"); }else if (age>11) { System.out.println("大于11"); //如果第一层为假就继续向下,如果 }else if (age>=10) { 第二层为真,就退出判断 System.out.println("大于等于10"); }else if (age>11) { System.out.println("11"); }
} } |
int age = 10; if(age > 1) { System.out.println("大于1"); } if(age > 2) { //这是三个判断。所以无论真假, System.out.println("大于2"); 都要判断三次 } if(age > 3) { System.out.println("大于3"); } |
import java.util.Scanner;
public class Demolx {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入一个数:");
int x=input.nextInt();
int y;
if (x>=3) {
y=2*x+1;
System.out.println("y="+ y);
}else if (x<=-1) {
y=2*x;
System.out.println("y="+y);
}else if (-1<x && 3<x) {
y=2*x-1;
System.out.println("y ="+y);
}
}
}
Ø switch语句
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}
Ø switch语句特点:
Ø
a,switch语句选择的类型只有四种:byte,short,int , char。
b,case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c,结束switch语句的两种情况:遇到break,执行到switch语句结束。
d,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
ü //练习的
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入一个数:");
int x=input.nextInt();
int y;
if (x>=3) { //如果x为4时 y = 9
y=2*x+1;
System.out.println("y="+ y);
}else if (x<=-1) { //x为时 y =-4
y=2*x;
System.out.println("y="+y);
}else if (-1<x && 3<x) {
y=2*x-1;
System.out.println("y ="+y);
}
}
}
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner input =new Scanner (System.in);
System.out.println("--------------------------");
System.out.println("请输入一个数");
int a = input.nextInt();
int b =input.nextInt();
int he =a+b;
System.out.println("它们的和是:"+he);
int max =(a>b)?a:b;
System.out.println("最大值:"+max);
int Chu =(a/b);
System.out.println("整除为:"+Chu);
int Cheng=(a*b);
System.out.println("乘积为:"+Cheng);
if (a%2==0) {
System.out.println("可以整除2结果为偶数");
}else {
System.out.println("不能整除2结果为奇数");
}
}
}
import java.util.Scanner;
public class DemoSui {
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
System.out.print("随机0-10的随机数");
int i =10;
i= input.nextInt();
if (i<10) {
System.out.println("是最小值");
}else if (i>10) {
System.out.println("越过了10");
import java.util.Random;
public class DemoSui {
public static void main(String[] args) {
Random r= new Random ();
System.out.println("0-9的随机数");
int a = r.nextInt(10);
System.out.println("随机数是:"+a);
}
}
v 易错题
v 1.
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==2 & ++y==2){
//先判断在赋值加1 (2) 先加1在赋值(2)
x =7;
}
System.out.println("x="+x+",y="+y);
//输出 x=2; y =2;
}
}
2.
public static void main(String[] args) {
int x = 1,y = 1;
if(x++==2 && ++y==2){ //先判断在赋值,1+1=2 为真, ++y假,赋值了,但没加1
x =7;
}
System.out.println("x="+x+",y="+y);
} //输出结果为 x=2, y =1
}
3.
boolean b = true;
if(b==false) // b不等于false ; 然后向下走
System.out.println("a");
else if(b) //b 本身为真,b==b 为真就不需要向下走了
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
}
} //结果输出b