键盘录入:为什么会有键盘录入呢,主要是为了方便以及灵活。
Scanner 的使用:
Java中已经存在一个类,叫做“Scanner”,这个类可以接受键盘输入的数字,或者文字之类的,自主输入变量的值(注意要对应变量的数据类型)
使用之前,需要导包,创建对象,接收数据:
import java.util.Scanner; //导包动作必须出现在类定义的上边
Scanner sc = new Scanner(System.in);//这个是创建Scanner类的对象,sc是变量名
int i = sc.nextInt();//在这里i就是用来接收输入数据的变量。
IDEA软件
打开以下网址:IDEA的网址
然后下载软件,最后傻瓜式安装即可。(或者在网上搜索安装教程,挺多教程文章的。)
二维数组
1.声明
语法格式为:数组类型[][] 数组名字;例如 :int[][] array;
创建一个二维数组:
判断和循环(流程控制语句,顺序结构)
1.顺序结构:按照代码的先后,顺序执行。
public class orderDemo{
public static void main(String[] args){
System.out.println("努力做主人喜欢的事~");
System.out.println("请尽情吩咐妲己~");
System.out.println("大小姐驾到,统统散开!!!");
}
}
输出结果就是:努力做主人喜欢的事
请尽情吩咐妲己
大小姐驾到,统统散开。
这个就体现了Java的顺序结构。
2.if语句
格式:if(条件表达式){语句};当只有一句语句的时候,可以省略“{}”大括号不写,但是一定要有后面的分号。条件表达式是进入里面语句块的条件,当条件语句判定为“true”才会进入if语句中去,否则跳过。
int a,b;
Scanner sc = new Scanner(System.in);
a = sc.nextInt();
b = sc.nextInt();
if(a==2&&b==5){
sout.("我是2和5噢");
}else{
sout.("除了2和5其他都有可能噢");
}
//这里的判定条件需要注意的是,必须要使用“==”,“&&”是表示逻辑与
//到后面我们也会学习到一个新的判定是否相等的语句,equals();迟点讲解他们的区别。
当然,if else语句可以有很多支。不过,我个人觉得,要是需要很多分支的时候,我还是建议使用switch() {
case :
}
语句。
if else的例子代码:
public class IF_ELSE {
public static void main(String[] args){
int x = 33,y = 44,z = 55;
int max = 0;
if(x>y){
if(x>z){
max = x;
}else
max = z;
}else {
if(y>z){
max = y;
}else{
max = z;
}
}
System.out.println("最大值为:"+max);
}
}
运行结果:(不知道怎么去掉我的ID名字,抱歉哈)
switch 语句
switch语句也是多分支选择结构,其语法结构为:
switch(表达式){
case 常量表达式1:
语句块1;
break;
case 常量表达式2:
语句块2;
break;
case 常量表达式2:
语句块2;
break;
case 常量表达式2:
语句块2;
break;
default:语句块n;//当不满足以上所有输入时,则会执行这条语句,方便提示用户他的输入有问题之类的问题
}
注意:1.switch的结果类型必须是与常量表达式的值类型相同,其中不能是布尔类型(boolean),长整型(long int)或者浮点型(float,double)
2.break语句的作用是是程序重整个switch语句跳出来,视情况可以省略,但是一定要注意,要是省略就会出现语句穿透的问题,所以要省略的时候需要特别注意。
3.default语句最多只能有一个,一帮来说会放在末尾,但是并没有规定,只是那样会好看一点。
4.case语句不用大括号
5.case和常量表达式之间必须要有空格,否则会报错,(新手要特别注意一下)
6.各个表达式的常量值不能相同,否则会出现语法错误。
public class switch_test {
public static void main(String[] args){
char grad = 'A';
switch(grad){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("不及格");
break;
default:
System.out.println("要么输入错误,要么就是不及格~");
}
}
}
上面运行结果为:优秀
while语句
语法格式:
while(逻辑表达式){
语句块
}
进入语句块之前,需要判断逻辑表达式是否为false,若是则跳个while语句。
若判断true,会进入语句块,会一直循环,直到逻辑表达式判断为false,所以结束条件的变量需要在语句块里面变化。否则会进入死循环,或者在里面使用break语句
当然在很多情况下,你会使用很多次while(true){}这个语句,因为它可以进入死循环,然后你可以在语句块里面选择是否结束。在很多开发中是需要使用到的,但是也要注意不要滥用。
do - while();语句
do{
语句块
}while(逻辑表达式);
//特别要注意的是需要注意while();这个分号,绝对不能省略,否则会报语法错误,新手特别容易忽略这个点
再次强调:while();这个分号一定不要省略了;while();这个分号一定不要省略了;while();这个分号一定不要省略了;重要的事情说三遍。(我以前在做小demo的时候偶尔会忘记);
public class do_while {
public static void main(String[] args){
boolean yesOrNo=false;
int num1=0,num2=0;
while(yesOrNo){
num1++;
}
do{
num2++;
}while(yesOrNo);
System.out.println("while输出的num1是:"+num1+"\n"+"do while输出的num2是:"+num2);
}
}
以上代码说明了while和do-while的区别;看看它的运行结果可以知道;
运行结果:
就是while判断条件不满足时,就会直接跳过while语句;而do-while语句则是先执行do里面的语句块,然后再判断是否满足;
for语句
for(初始化表达式;逻辑表达式;迭代表达式){
语句块
}
注意for语句的三个表达式之间是用;来隔开的,必须要有;,否则报错
public class for_test {
public static void main(String[] args){
int sum = 0;
for(int i=1;i<=100;i++){
sum+=i;
}
System.out.println(sum);
}
}
以上的代码是利用for循环来实现从1到100的累加。
输出结果为:5050
foreach语句,又被称为增强型for循环语句
语法格式:
for(元素类型 迭代变量:数组或者集合){
使用数据变量的循环体语句块
}
//可以用来循环一维数组的元素
//这个是它使用的例子
int[] array = {4,5,6,8,9};
for(int ele:arry){
System.out.println(ele);
}
增强for循环语句还是还挺常用于数组遍历的。当然还有很多场景会用到。
break语句
break是跳转语句,需要特别说明一下这个语句:
break语句只能用在循环语句和switch语句中。
continue语句
这个适用于需要跳出本次循环,并立即进入下一次循环当中去。
下面是一个小案例:
public class MultiplicationTable {
public static void main(String[] args){
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j);
if(i*j<10){
System.out.print(" ");//多输出一个空格,方便形状
}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
输出结果为:
注意,这里的println是会自动换行的打印;而print则是不会自动换行的。
下一章节再见吧~~