前言----志之所趋,无远勿届,穷山距海,不能限也
文章目录
用户交互Scanner
- 在c语言中想要输入某个字符串,你可能会使用 char a[10]; scanf(“%s”,a);
- 但是在java中想要输入某些内容你可以使用Scanner类,下面我用代码详细的讲述Scanner
package com.operator;//这个是上一篇博客里面讲的包机制中的定义包,必须在某个类的最上面,否则程序无法运行
import java.util.Scanner;//这个是Scanner的导入包,当你输入Scanner的时候会自动在你的定义包的下面
public class Demo1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);//定义一个Scanner类,这个类的名字是scanner
if(scanner.hasNext()){//这条语句是判断输入的是否是字符串
String str=scanner.next(); //如果是的话则用str接受它
System.out.println(str);
}
if(scanner.hasNextLine()){//这条语句是判断输入的是否是字符串
String ptr=scanner.nextLine();
System.out.println(ptr);
}
//scanner.hasNext()与scanner.hasNextLine()的区别:比如我入蜀一个 Hello World
//第一个输出的是 Hello 而第二个输出的是 Hello World
//scanner.hasNext() 只要碰到空格[前提是前面已有有效的字符串]就会忽略后面的内容,输返回空格前面的内容
//scanner.hasNextLine() 只有遇到 \n(回车键)才会停止,并且返回回车前面的内容
if(scanner.hasNextDouble()){//判断输入的是否是浮点数
double x=scanner.nextDouble();
System.out.println(x);
}
if(scanner.hasNextInt()){//判断输入的是否是整形
int i=scanner.nextInt();
System.out.println(i);
}
scanner.close();//每次使用Scanner类的时候都要在最后面加上这条语句,否则会出现内存浪费。
}
}
循环结构
while循环do while 循环
-
while()循环
-
do while()循环
//while循环格式 while(x) { //执行代码 } //在执行while循环的时候先进行对x的判断,若为真才执行下一步 do { //执行代码 }while(x); //先执行一次循环里面的代码内容 在进行判断,这也是和while循环的区别 //while循环可能一次都不会执行,但是do while循环至少执行一次
for()循环
-
for循环小技巧在java中如果你想快速使用for循环你可以直接输入:100.for 按一个回车就会自动生成一个循环
for(int i=0;i<100;i++) { } //输入 100.for 有这两种for循环的形式可以快速实现,减少了不必要的重复 for(int i=100;i>0;i--) { }
for循环3个测试题
for循环的简单应用小测试题【1】,输出1~100之间所有奇数和以及所有偶数和
- 小建议:初学者从最开始就要对名字规范的命名,比如这个题奇数(odd)偶数(even)如果不会的可以查一下然后记住,一定要养成良好的命名规范,不要觉得麻烦!!!如果还不知道如何规范命名的小伙伴可以看我上一期发的那一篇博客里面有详细的介绍如何规范命名
public class Demo1 {
public static void main(String[] args) {
int evenSum=0;
int oddSum=0;
for (int i = 0; i < 101; i++) {
if((i%2==0)){
evenSum+=i;
}
else{
oddSum+=i;
}
}
System.out.println("奇数和:"+ oddSum);//最终的输出结果为:2500
System.out.println("偶数和:"+ evenSum);//最终的输出结果为:2550
}
}
for循环的简单应用小测试题【2】输出1~1000中所有能被5整除的数,并且每输出三个换行
public class Demo1 {
public static void main(String[] args) {
int count=0;
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
count++;//记录每行输出了多少个数
}
if(count==3){//如果每行满足三个则换行
System.out.print("\n");
count=0;//注意!换行之后要把count重新置为0,进行下一行的计数
}
}
}
}
for循环的稍微难的应用测试题【3】输出九九乘法表
- 小伙伴在做之前可以先结合for()循环,自己先思考一下思路,自己先试着敲敲代码,哪点卡住的话可以参考我的代码。
public class Demo1 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int i1 = 1; i1 <= i; i1++) {//嵌套for()循环,可以实现在每行输出每列的算式
System.out.print(i1 +"*"+ i +"="+ i*i1+"\t");//注意,基本的语法一定要掌握牢固!
}
System.out.println();
}
}
}
增强型for()循环
- 对于初学者先了解即可
- 主要用于数组或集合
//增强型for循环的形式
for(声明语句 : 表达式) //注意标点符号是 :
{
//代码句子
}
Fg://注意,java中定义数组和c语言中不一样
//c语言 int a[]={1,2,3};
//java int [] a={1,2,3};
public class Demo1 {
public static void main(String[] args) {
int [] a={1,2,3,4,5,6,7};
for(int x:a){
System.out.print(x+"\t");
}
System.out.println();
}
}
break & continue
- braek用于强行退出循环
- continue用于终止某次循环
//break的简单例子
public class Demo1 {
public static void main(String[] args) {
//注意:这是一层循环,遇到break之后直接跳出这一层循环
for (int i = 0; i < 50; i++) {
if(i>25){
break;
}
System.out.print(i+" ");
}
}
}
//输出结果:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
//continue简单例子
public class Demo1 {
public static void main(String[] args) {
for (int i = 0; i < 50; i++) {
if(i<25){
continue;
}
System.out.print(i+" ");
}
}
}
//输出结果:25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
// 两层循环 && break
public class Demo1 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int i1 = 0; i1 < 5; i1++) {
if(i1==3){
break;
}
}
System.out.print(i+" ");
}
}
}
//输出结果:0 1 2 3 4 5 6 7 8 9
//结论:break只能跳出 一层 循环 ,如果break能跳出两层循环的话,那么这段代码什么都不会输出了;
小知识点
- 在c中如果我写 if(i%2);是完全没有问题的;但在Java中,如果我还写 if(i%2) 就是语法错误了,在java中if()里面的内容必须为boolean的类型,而 i%2 的结果是int类型,所以报错,但是在c语言中,非0即真,0为假。
- 目前我在java中学到出输出有两种
- System.out.println(); 这个是输出完里面的内容之后自动换行
- System.out.print(); 这个是输出完里面的内容之后不会自动换行但是你可以加入"\n"实现换行的目的
总结
-
这一篇博客一定要好好的看一下,比如循环结构,for()循环,break,continue各自的用法,区别,尤其是上面那些简单的例题,九九乘法表,自己要多思考一下,嵌套循环的使用。这篇内容是对后序学习的一个基础吧。只要在基础打牢的前提下,才能继续的去学习后序更深奥的内容!
最后以一句名言结束这篇博客:纸上得来终觉浅,绝知此事要躬行,在平时我们一定要多敲代码!思考!总结!这样从过不断的积累,才会有提升!各位小伙伴继续坚持吧!!!一起加油!!!