目录
scanner的使用
if语句的使用
eclipse的使用
switch语句的使用
输出方法的使用
循环语句
scanner的使用
实现用户数据的交互,用户通过终端输入数据
注意:使用Scanner需要导包
在程序开头加上:import java.util.Scanner;
//由于Scanner类是jdk提供的,并且是不和当前ScannerDemo类是同一个目录,所以要先导入Scanner类
import java.util.Scanner;//类的全限定名称//在定义一个类时,注意不要和已经存在的类名相同
public class ScannerDemo{//程序的入口 main方法 public static void main(String[] args){//使用Scanner,创建Scanner的对象,提供系统输入流【键盘数据的输入】Scanner sc = new Scanner(System.in);System.out.println("请输入信息:");//如何读取信息【字符串、基本数据类型】//String input = sc.next();//会阻塞程序,默认的结束符为回车//String input = sc.nextLine();//读取一行,会阻塞程序,默认的结束符为回车//int input = sc.nextInt();//double input = sc.nextDouble();//Exception in thread "main" java.util.InputMismatchException//System.out.println("input="+input);//String str = sc.nextLine();//读取一行,会阻塞程序,默认的结束符为回车 ,会读取nextXX()方法的换行符//分隔符的修改sc.useDelimiter(";");String str = sc.next();System.out.println("str="+str);}
}
- -next();//读取用户输入的字符串数据
- -nextLine();//读取用户输入的一行数据 以换行符(回车)作为分隔
- -nextInt();//读取用户输入的int整型数据 ,需要注意输入的数据类型要匹配;InputMismatchException输入的数据类型不匹配
- -nextDouble();//读取用户输入的double浮点型数据
注意:如果在nextLine();操作前使用了nextInt();nextDouble();等方法,nextLine()方法会读取到上面方法所输入的换行符。
if语句的使用
单分支判断语句
if(条件){执行体}
双分支判断语句
if(条件){执行体}
else{执行体}
多分支判断语句
if(条件){执行体}
else if(条件){执行体}
else if(条件){执行体}
......
else{执行体}
注意事项
1.if 和 else if 以及 else 中 如果没有{},则默认他下面的第一行为语句体
2.else if以及else必须要和if是成对匹配的;
if练习及其完整代码
//导入Scanner
import java.util.Scanner;public class IfTest {public static void main(String[] args) {//操作一://1、创建Scanner对象Scanner sc = new Scanner(System.in);//2、获取年份数据System.out.println("请输入年份,比如1990");int year = sc.nextInt();//3、判断if((year%400==0)||(year%4==0&&year%100!=0)){// ----能够整除400// ----能整除4且不能整除100System.out.println(year+"为闰年");}else{System.out.println(year+"不为闰年");}//操作二://1、创建Scanner对象Scanner sc = new Scanner(System.in);//2、获取输入int数据System.out.println("请输入数值");int num = sc.nextInt();//3、判断 不能被2整除的整数 ,数学表达形式为:2k+1if(num%2!=0){System.out.println(num+"为奇数");}else{System.out.println(num+"为偶数");}//操作三:[a\b\c][从小到大]//1、创建Scanner对象Scanner sc = new Scanner(System.in);//2、获取输入int数据System.out.println("请输入数值a");int a = sc.nextInt();System.out.println("请输入数值b");int b = sc.nextInt();//3、判断 a是满足大于b,则交换if(a>b){int item = a;a = b;b = item;}System.out.println("a为"+a+" b为"+b);//操作四:[a\b\c][从小到大]//1、创建Scanner对象Scanner sc = new Scanner(System.in);//2、获取输入int数据System.out.println("请输入数值a");int a = sc.nextInt();System.out.println("请输入数值b");int b = sc.nextInt();System.out.println("请输入数值c");int c = sc.nextInt();//3、判断 a是满足大于b,则交换 [先把最小的放在a,再把第二小的放在b]if(a>b){int item = a;a = b;b = item;}if(a>c){int item = a;a = c;c = item;}if(b>c){int item = b;b = c;c = item;}System.out.println("a为"+a+" b为"+b+" c为"+c);}
}
eclipse的使用
先去官网网址下载,然后先解压文件,可以解压到D:/
免安装的版本,前提要求安装1.8以上的JDK(这里用的是1.8的jdk)
-生成一个快捷方式到桌面
--运行、指定工作空间(代码存放的位置)
在eclipse中创建文件并运行
在eclipse中调整字体
- -1、打开首选项
- -2、basic
- -3、修改字体大小
快捷键的使用
- -万能提示键: alt+/(打出部分字母再按,会有提醒)
例子:1.main+提示键 2.输出语句Syso+提示键
- -快速复制:ctrl+alt+上下箭头(PS:若没反应,可能是与QQ默认的快捷键冲突,关掉QQ/更改快捷键即可)
- -快速删除一行或多行:ctrl+d
- -注释一行 :ctrl+/
- -注释多行 :ctrl+shift+/
- -回撤 :ctrl + z
- -格式化代码:ctrl+shift+f
switch语句的使用
- -key
key类型 可以为1.5版本后支持 byte short int char 1.7版本后增加了String和enum类型
语法:
switch (key) {
case value:
break;
default:
break;
}
- -case
用于匹配数值
- -break
用于跳出switch语句
- -default
用于设置没有匹配成功的默认操作
--枚举类型:
用于定义有限个数的常量的类型,比如季节(春夏秋冬)
包右键新建枚举类,然后加入以下数据
public enum Session{
SPRING,SUM,AUT,WIN
}
public class SwitchDemo {//枚举类型:穷举-列举有限个数数据 的类型 举例:季节【春夏秋冬】 作为一个常量的封装类// 1001 系统异常 1002空指针异常public static void main(String[] args) {//枚举类型变量Session item = Session.AUT;//将session中的值赋值给 session类中的item // 相当于多分支的判断语句switch (item) {// key表示为入参到switch的变量case SPRING:System.out.println("春天");//退出switchbreak;case SUM:System.out.println("夏天");//退出switchbreak;case AUT:System.out.println("秋天");//退出switchbreak;case WIN:System.out.println("冬天");//退出switchbreak;}}}
输出方法的使用
//不换行输出System.out.print("c");System.out.print("d");
--println
//换行输出System.out.println("a");System.out.println("b");
--printf:
//格式化输出 xxx同学的xxx学科成绩为xxxSystem.out.printf("%s同学的%s学科成绩为%3.1f \n","小明","语文",8.5);
格式字符
格式字符用以指定输出项的数据类型和输出格式。
d格式
用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
o格式
以无符号八进制形式输出整数。也可以指定字段宽度用“%mo”格式输出。
s格式
用来输出一个字符串。有几中用法
%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。
f格式
用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。
x格式
以无符号十六进制形式输出整数。同样也可以指定字段宽度用"%mx"格式输出。
c格式
输出一个字符。
循环语句
要素
初始化的变量、条件、循环执行体、迭代
while:
先判断再执行
do while
不管条件是否成立都会执行一次 如果条件成立则继续执行
for
for(初始化;条件;迭代)
foreach
for(临时变量:数据源)