Day02 学习java 2020-09-29

1 篇文章 0 订阅
1 篇文章 0 订阅

Day02 学习Java

1.Scanner类的使用

  1. 这是一个用户交互相关,进行输入的类
Scanner scanner = new Scanner(System.in);
String str = scanner.next();  // 会进行阻塞,直到输入数据
System.out.println(str);
  1. 但是scanner这个对象,有不同的方法,next()方法遇到空格就结束,nextLine()遇到回车才结束,但都会移动游标
Scanner scanner = new Scanner(System.in);
String str = scanner.next();  // 会进行阻塞,直到输入数据
System.out.println(str);
String str1 = scanner.nextLine();  // 会进行阻塞,直到输入数据
System.out.println(str1);
  1. 还可以用scanner.hasNextInt(),scanner.hasNextFloat等方法进行判断,是否是对应数据类型,这方法也会阻塞,但只进行判断输入的数据类型,否则获取值报错,不会移动游标
Scanner scanner = new Scanner(System.in);
if(scanner.hasNextInt()){   // 程序运行时会阻塞在这里,但是如果输入的是int类型会对num赋值,如果输入的是浮点数,会直接赋值到num1
	int num=scanner.nextInt();
}
if(scanner.hasNextFloat()){
	float num1=scanner.nextFloat();
}

2.java 的结构

  1. 顺序结构
  2. 选择结构
  3. 循环结构

选择结构

  1. 单个if
  2. 单个if else 的结构
  3. 多个if else if else
  4. switch 结构 :做好使用break,进行跳出,否则会导致case穿透

循环结构

  1. while 循环
  2. do while 循环 : 至少执行一次
  3. for 循环
  4. jdk 1.5 开始可以使用 增强for循环 来遍历集合,数组
for(;;){} // 相当于死循环

注:

  • 循环结构中可以使用break,continue结束当前循环,但是效果不一样,如下代码,使用break跳出循环66及之后的数字都不输出,使用continue则只是不输出66
for(int i=0;i<100;i++){
	if(i==66){
		break; //continue;
	}	
	System.out.println(i);
}
  • java 也保留了goto 关键字,但是不能使用,可以用break,continue加lable:标签达到相同的功能
out:for(int i=0;i<100;i++){
	for(int j=0;j<100;j++){
		if(j==50){
			break out; //直接跳出最外层循环,也就是说i只运行了0
			// continue out; // 直接跳出到最外层循环,也就是说i执行了全部,j每次只从0-49
		}
	}
	System.out.println("i: " +i+" j: "+j);
}

Java 方法

  • 格式 修饰符 返回值类型 方法名(参数列表){ 方法体 }
  • 其中 没返回值的使用void 有返回值的使用return 返回值
  • 方法可以进行重载,即方法名相同,但是参数的顺序,类型,个数不一样
  • 返回值类型和重载没有关系
  • 方法还可以实现传递可变参数,但是一个方法 只能有一个可变参数 ,而且可变参数必须在参数列表的末尾
  • 可变参数使用时可以传递空参
// 重载
public int add(int a, int b){return a+b;}
public int add(int a, int b, int c){return a+b+c;}

// 可变参数
public int add(int... a){
	int sum=0;
	if(a.length == 0){return 0;}
	for(int i=0;i<a.length;i++){
		sum+=a[i]
	}
	return sum;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值