900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Java基础代码语法讲解上

Java基础代码语法讲解上

时间:2018-10-23 01:48:03

相关推荐

Java基础代码语法讲解上

因为最近有多余的时间,可以码字,Java基础虽然真的很基础,但是我学起来又慢又吃力,我想不能忘记自己学语言学不会的样子。

这篇文章我决定写的很零碎,而且想尽量写的很通俗易懂,来锻炼自己说人话的能力。

一起加油。

一:如何对用户的输入进行扫描并进行输出。

代码如下

public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");int a = scanner.nextInt();int b= scanner.nextInt();System.out.println(a);System.out.println(b);}}

语法格式

Scanner s = new Scanner(System.in);

创建一个Scanner的对象s这样s就可以调用Scanner这个类中的很多方法啦。

简单解释一句,类就像一个储存很多方法的宝库,而我们要用这个宝库中的方法,就需要给出一个对象,来对方法进行具体的调用。

int I = scanner.nextInt.

意思用scanner下的nextInt方法来接收数据,并把接收的数据的值给I

注1:nextInt与nextLine的区别

nextInt接受数据时,如果输入为247,则输出为247 如果输入为2 4 7,则输出为2,也可以说无法读取并输出空格,以空格来判断结束位置

但是如果是nextLine,输入2 4 7输出2 4 7,以回车来判断结束位置,可以输出空格。

2:如果想使用nextInt同时接收多个数据,并进行输出

很简单,就像我代码写的那样给出int更多的值进行接收就好啦。我发现Java默认int的第一个值a接收输入的第一个数据,int的第二个值b接收第二个数据,这就是顺序结构的特性吧。

二:程序流程的三种结构

顺序选择(条件)与循环结构

1:顺序结构

我上文中的打印就是顺序结构,顺序执行

2:选择结构

if单选择结构

代码展示

if(scanner.hasNextInt()) {i=scanner.nextInt();//一定要接收数据!!!System.out.println("你输入的是整数"+i+"耶");}

如果scanner扫描到有下一个输入值则用i接收上一个输入值并进行打印。

if双选择结构

代码展示

if(scanner.hasNextInt()) {i=scanner.nextInt();//一定要接收数据!!!System.out.println("你输入的是整数"+i+"耶");}else{System.out.println("哼!输入的根本不是整数");}

if多选择结构

代码展示

if (score<60){System.out.println("不及格哦");}else if (score>=60&&score<70){System.out.println("成绩为D哦");}else if (score>=70&&score<80){System.out.println("成绩为C哦");}else if (score>=80&&score<90){System.out.println("成绩为B哦");}else if(score>=90&&score<=100){System.out.println("成绩为A哦,真是棒棒呢");}else{System.out.println("大笨蛋,输入的是无效成绩呢");}

嵌套的if循环

代码如下

//嵌套if循环public static void main(String[] args) {int i=10,sum=0;if (i>=0){i=i-1;if(sum<=10){sum=sum+1;}}System.out.println(i);System.out.println(sum);}

注意if是条件语句,执行后即跳出,不会循环,所以最后输出i=9,sum=1;

switch选择结构

expression中填写需要被判断的表达式,value则是判断表达式满足的值,若满足则执行语句,代码如下:

System.out.println("请输入你的成绩等级");Scanner scanner = new Scanner(System.in);char grade = scanner.next().charAt(0);switch (grade){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("你又输错了大笨蛋");

如果没有break,所有语句都会执行。

3:循环结构

while循环

当布尔表达式为true时循环会一直执行下去

代码:

while (i<=100){sum = sum +i;i++;}System.out.println(sum);

先判断i是否小于或等于一百,小于则开始执行循环没执行一次i都加1,一直到i等于101时跳出循环。

do-while循环

执行代码语句,然后看是否满足布尔表达式,若满足,则继续执行,若不满足,则跳出。

代码:

int i=100;do {i--;}while (i>=2);//只要i>2开始循环,当i<2的时候终止循环System.out.println(i);

先进行i=i-1,发现99>2,则继续执行循环,一直到i=1,可以跳出循环。

for循环

代码:

//2:用for循环输出0到1000内所有能被5整除的数,且每三个输出一行。for (int j = 0; j < 1000; j++) {if (j%3==0){System.out.print(j+"\t");}if (j%15==0){System.out.print("\n");}}

j=1000的时候跳出循环。

增强for循环

public static void main(String[] args) {int[] numbers = {1,2,3,4,5,7};for(int i=0;i<6;i++){System.out.println(numbers[i]);//看如何输出数组}System.out.println("==========");for(int x:numbers){//此处为for加强循环System.out.println(x);}}

此处的加强循环会直接完成数组的遍历与赋值。

小作业打印九九乘法表

//打印九九乘法表for (int t = 1; t <= 9; t++) {for (int k = 1; k <= 9; k++) {System.out.print(k+"*"+t+"="+t*k+"\t");}System.out.print("\n");}

4:break与continue以及标签

注:continue跳出部分语句,break跳出整个语句。

先看continue,还是上代码:

int i=0;while (i<100){i++;if (i%10==0){System.out.println();continue;//跳出重新执行while,从而无法输出SOP}System.out.print(i+" ");}

若i的值为10,则回车,然后遇见continue,continue使i跳出if语句,继续执行while中的内容,所以最后代码输出如下:

如果是break

int j=0;while(j<100){j++;if (j==30){break;}System.out.print(j+" ");}

当j=30时,break不仅跳出if,还跳出了while循环,所以循环没有继续执行,只打印到29.

输出结果如下:

标签

outer:即为我们给程序下的标签,如果没有标签,break与continue都会跳到自己想跳的循环,但是如果有标签,则会跳到制定循环。

outer:for (int k=100;k<=150;k++){for(int q =2;q<=k/2;q++){if(k%q==0){continue outer;//continue只能跳出一个语句,加上标签后可以跳出指定语句}}System.out.print(k+" ");}

此代码为打印100到150的所有质数,质数:大于2,且除了一和本身没有其他因数的数。判断一个数是否为质数,则让它除以小于自己的数,若有余数,则为质数,进行打印,若没有余数,则不为质数,跳到for进行加一继续判断。

最后输出:

小练习:打印三角形

我们想打印这样的三角形:

需要打印三个部分:

上代码!

public static void main(String[] args) {for (int i = 0; i <= 5; i++) {for (int j = 5; j >i; j--) {//代码1System.out.print(" ");}for(int j=0;j<i;j++){//代码2System.out.print("*");}for (int j = 1; j < i; j++) {//代码3System.out.print("*");}System.out.println();}}

为了看起来更清晰,我再改了一下代码,输出结果长这样:

i=0,代码一执行五次,代码二不执行,代码三不执行;

i=1,代码一执行四次,代码二执行一次,代码三不执行;

i=2,代码一执行三次,代码二执行两次,代码三执行一次;

本来想写Debug,但是Java的一些调试操作与查源码我自己也没太搞清楚,决定单独做个专题。

Java代码很基础的一部分已经写完了,在这里感谢狂神,很多东西看代码一点就透,网上很多课程也很好,只是讲的东西太全面,对我来说实在太吃力了,再加上时间的限制,就连狂神说Java完全学也完花了我三个星期。

java下就开始方法的讲解啦,我会写的比这一篇还要详细,学习是一件很值得开心的事情!!!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。