关键字、标识符、常量、变量、数据类型(概念)
关键字:被Java语言赋予特定含义的单词
作用分类 1、用于定义数据类型的关键字。 // class、long、void、int
2、用于定义数据类型的关键字。//true num
3、用于定义流程控制的关键字 。//if 、return、do、for、
标识符:是为方法、变量或其他用户定义项所定义的名称,标识符可以有一个或多个字符。
构造组成: 1、只能由字母(a-z,A-Z),数字(0-9),下划线(_)和美元符号($)组成
2、不能以数字开头
3、不能与关键字重名
4、严格区分大小写
注意事项:不能以数字开头,也不能使用任何 Java 关键字。
常量:是指在Java程序中固定不变的数据。
在 Java 中使用 final 关键字来修饰常量
分类:1、字面值常量 (整数常量、小数常量、字符串常量、字符常量、布尔常量、空常量)
2、自定义常量
变量:可以随着程序执行改变的量
三要素:数据类型、变量名、初始化值
格式 : 数据类型 变量名 = 初始化值;// int a = b;
数据类型
分类:基本数据类型 四类八种基本数据类型如下图
引用数据类型:包括 类、数组、接口。
运算符汇总
算数运算符:
关系运算符:
逻辑运算符:
按位运算符
三目运算符:
格式:(表达式)? 1)执行true的结果:2)执行false的结果
案例
class OperatorDemo{
public static void main(String[] args){
//定义两个变量
int a = 10 ;
int b = 15 ;
//(表达式)? 1)执行true的结果:2)执行false的结果;
//定义变量max
int max = (a>b)? a:b;
System.out.println("两个数据的最大值是:"+max) ;
键盘录入数据
实现步骤:
1. 导包(位置放到class定义的上面)
import java.util.Scanner;
2. 创建对象
Scanner sc = new Scanner(System.in);
3. 接收数据
int x = sc.nextInt();
程控制语句
if语句有三种格式
if语句格式1
if(关系表达式){
语句体;
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
流程图:
注意事项
关系表达式无论简单还是复杂,结果必须是boolean类型
if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要
省略。
一般来说:有左大括号就没有分号,有分号就没有左大括号
案例:
import java.util.Scanner ;
class IfDemo{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入
System.out.println("请录入一个x的值:") ;
int x = sc.nextInt() ;
//判断
//if(x>=10); //;和{冲突的 :if语句是没有意义的!(空语句体)
//局部代码块: 限定一个变量的生命周期
{
int a = 10 ;
System.out.println("hello,if语句") ;
System.out.println(a) ; //a的使用范围:仅仅是在{}内有效
}
if(x>=10){
System.out.println("x大于或者等于10,"+x) ;
}
System.out.println("over...") ;
}
}
if语句格式2
格式
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
流程图:
案例:
import java.util.Scanner ;
class IfTest{
public static void main(String[] args){
//1)已知存在用户名和密码
String username = "admin" ;
String password = "admin" ;
//2)创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入数据
System.out.println("请您输入用户名:") ;
String name = sc.nextLine() ;
System.out.println("请您输入密码:") ;
String pwd = sc.nextLine() ;
//3)判断
//true
if(username.equals(name) && password.equals(pwd)){
System.out.println("恭喜您,登录成功了...") ;
}else{
System.out.println("对不起,您的用户名或者密码输入错误...") ;
}
}
}
if语句格式3
格式
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
注意事项:
1:看完格式,执行流程和图解后,就把学生成绩的案例给做了。
2:一定要注意数据的判断问题。由此引出针对数据教验,一定要注意
正确数据
错误数据
边界数据
流程图:
案例:
import java.util.Scanner ;
class IfDemo3{
public static void main(String[] args){
//创建Scanner键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入数据
System.out.println("您输入一个学生的成绩:") ;
int socre = sc.nextInt() ;
/*
90 - 100 优秀
80 - 90 较好
70 - 80 良好
60 - 70 及格
60以下 不及格
*/
if(socre >100 || socre <0){
System.out.println("输入数据不合法...") ;
}else if(socre >=90 && socre <= 100){
System.out.println("成绩优秀!") ;
}else if(socre>=80 && socre<90){
System.out.println("成绩较好") ;
}else if(socre>=70 && socre<80){
System.out.println("成绩良好!");
}else if(socre>=60 && socre<70){
System.out.println("成绩及格") ;
}else{
System.out.println("不及格") ;
}
}
}
switch 语句格式
格式:
switch(表达式) {
case 值1:
语句块1;
break;
case 值2:
语句块2;
break;
…
case 值n:
语句块n;
break;
default:
语句块n+1;
break;
}
流程图:
注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略吗?可以省略。一般不建议。除非判断的值是固定的。(单选题)
break可以省略吗?可以省略,一般不建议。否则结果可能不是你想要的
default的位置一定要在最后吗?可以出现在switch语句任意位置。
switch语句的结束条件:
遇到break
执行到程序的末尾
案例
import java.util.Scanner ;
class SwitchDemo{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入数据
System.out.println("请您输入一个数据(1-7):") ;
int week = sc.nextInt() ;
switch(week){
case 1:
System.out.println("星期一") ;
break ;
case 2:
System.out.println("星期二") ;
break ;
case 3:
System.out.println("星期三") ;
break ;
case 4:
System.out.println("星期四") ;
break ;
case 5:
System.out.println("星期五") ;
break ;
case 6:
System.out.println("星期六") ;
break ;
case 7:
System.out.println("星期日") ;
break ;
default:
System.out.println("非法数据!") ;
break ;
}
}
}