一:java中的关键字
关键字 | 代表意思 |
---|---|
class | java中最基本的单元 |
public | 权限修饰符,公共的 |
private | 私有的,只能在本类中访问 |
protected | 受保护的,当前类/子类中访问 |
break | 终止当前循环,break循环之后的语句按顺序执行 |
continue | 跳过本次循环 |
return | 是指结束该方法,继续执行方法后的语句。 |
二:什么是标识符
2.1定义:
给包、类、接口、变量、方法、常量等起名字的字符。
2.2组成规则:
- 26个英文大小写字母
- 数字字符
- $
- _
三:数据类型
3.1基本数据类型
基本数据类型分为四类八种
- 整形:byte、short、int、long;
- 浮点型:float、double;
- 字符类型:char
- 布尔类型(boolean):false、true
3.2引用数据类型
- 类
- 接口
- 数组
四:算数运算符
4.1基本算数运算符
运算符 | 含义 | 示例 |
---|---|---|
+ | 两个数相加 | 2+3=5 |
- | 两个数相减 | 5-3=2 |
* | 两个数相乘 | 3*5=15 |
/ | 两个数相除 | 6/3=2 |
% | 两个数相除取余数 | 6%4=2 |
4.2扩展算数运算符
自增(++)自减(- -)运算符号
++、- -符号分别在变量左右的区别
- 符号在变量左边则先自增1,在赋值运算
public class Test {
public static void main(String[] args){
int a = 1; //a=1
int b = ++a; //b=a+1=2 ; a= a+1=2
System.out.println(a); //输出a的结果就是2
System.out.println(b); //输出b的结果就是2
}
}
- 符号在变量右边则先赋值运算,在进行自减一
public class Test {
public static void main(String[] args){
int a = 1; // a=1
int b = a++; // b=1;a=a+1=2
System.out.println(a); //输出a的结果就是2
System.out.println(b); //输出b的结果就是1
}
}
五:赋值运算符
赋值运算符包含有:=、+=、-=、=、/=、%=
注意:+=、-=、=、/=、%=符号的运算原理
byte a = 1;
//编译失败,因为byte类型数据在参与运算时默认提升为int类型。 byte a= (int)(a)+1
a=a+1;
//编译成功:相当于 a = (a的数据类型)(a+1)
a+=1;
六:关系运算符
关系运算符包含:==,>,<,>=,<=,!=
注意:
- 比较运算符的结果是boolean类型数据,结果只能是true 或者false
- 需要特别关注 == 与= 号的区别。
a)=代表的是赋值运算符
b)==代表两个数值在做比较
相等则输出true,程序执行相应语句体
不相等输出falae,程序越过相应语句体
int a = 1;//代表将0赋值给a
// 如果a的值是0为true,执行if{语句体}。
if(a==0){
System.out.print(a);
//如果a的值是1为true,执行else if{语句体}
}else if(a==1){
System.out.println(a);
}else{
System.out.println(a);
}
七:逻辑运算符
逻辑运算符包含:|、||、&、&&、!
**重点:**区分|与||,&与&&的区分。
八:隐式转换与显示转换
8.1隐式转换:
- 隐式类型提升。
- byte、short、char三者之间不转换,一旦参与运算优先提升为int—>long---->double
public class Test {
public static void main(String[] args){
byte num = 22;
int num1 = 33;
int num2 = num+num1;
float num3 = num+num1+num2;
double num4 = num+num1+num2+num3;
//输出num2的运算值是:55
//默认将num的byte类型提升为int类型
System.out.println(num2);
//输出num3的值是:110.0,
//默认将byte类型的num与int类型的num1、num2类型提升为float类型然后相加
System.out.println(num3);
//输出num4的值是:220.0,
// 默认将byte类型的num与int类型的num1、num2类型提升为double类型
// 默认将float类型的num3提升为double类型
System.out.println(num4);
}
}
8.2显示转换(强转)
- 强转类型转换(将大的数据类型----->转换为晓得数据类型)
- 格式: 目标数据类型 变量名 = (目标数据类型)(转换体);
public class Test {
public static void main(String[] args){
byte num = 22;
int num1 = 33;
//byte类型变量+int类型变量=byte类型数据时:需要强制转换数据类型
//公式: 目标数据类型 变量 = (目标数据类型)(转换体);
byte num2 = (byte )(num+num1);
//输出的结果是:byte类型的55
System.out.println(num2);
}
}
- 注意:强转会有精度缺失
九:三元运算符
格式: a>b?a:b
含义:a与b做比较,a>b成立则输出a,a>b不成立则输出b。
十:键盘录入Scanner
import java.utli.Scanner;
class Test{
public static void main(String[] args){
//new一个Scanner对象
Scanner sc = new Scanner(System.in);
//提示用户输入数据
System.out.println("请输入");
//创建一个接收int类型的数据的变量
int num = sc.nextInt();
//打印出输入的数据
System.out.println(num);
}
}
十一流程控制语句
11.1顺序结构语句
按照程序书写的顺序从上到下依次执行
public class Test {
public static void main(String[] args){
int a = 1;
int b = 2;
System.out.println(a);
System.out.println(b);
}
}
11.2选择结构语句
选择结构语句也称之为分支结构。java提供的结构语句分别是:if、switch
11.2.1if 语句
格式一:
if(条件一){
语句体
}
格式二:
if(条件一){
语句体1
}else(条件二){
语句体二
}
11.2.2switch语句
switch语句中的表达式可以是什么样的数据类型:
基本数据:int,byte,short,char
JDK5以后可以跟枚举 enum
JDK7以后可以跟String类型
格式:
switch(){
case 常量:
语句体;
break;
case 常量2:
语句体2;
default:
语句体3;
break;
}
package day4.work;
import java.util.Scanner;
/***
* (switch 语句)录入一个整数,如果是1~5 之间,则分别输出5 个福娃的名
字,否则输出“北京欢迎你”。
*/
public class WorkDay04_03 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数值");
int num = sc.nextInt();
switch (num){
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;
default:
System.out.println("请输入正确数值范围:1-5");
break;
}
}
}
11.3循环结构语句
java中循环语句提供的有:while、for、do-while
建议: 循环次数不明确使用while,循环次数明确使用for
11.3.1while循环
格式:
while(条件){
语句体
}
package day4.work;
/**
* 我国最高山峰是珠穆朗玛峰:8848m,
我现在有一张足够大的纸张,厚度为:0.01m。
请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
(不明确次数使用while)*/
public class WorkDay04_01 {
public static void main(String[] args){
//定义珠峰高度
int zf = 8848;
//定义折叠次数
int zdcs = 1 ;
//定义纸张厚度
double zzhd = 0.01;
while (zzhd<=zf){
zzhd =(double)(zzhd *2);
zdcs++;
}
if (zzhd>=zf){
System.out.println("最少折叠次数是:"+zdcs);
}else{
zdcs+=1;
System.out.println("最少折叠次数是:"+zdcs);
}
}
}
11.3.2for循环
格式1:
for(定义变量:条件:循环控制体){
语句体
}
格式2:
for(:条件:循环控制体){
语句体
}
格式3:
for(:条件:){
语句体
}
package day4.work;
/***
* for(int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
//在此处填写代码
}
System.out.println("java基础班");
}
在控制台输出2次“java基础班”
在控制台输出7次“java基础班”
在控制台输出13次“java基础班”
*/
public class WorkDay04_04 {
public static void main(String[] args){
for(int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
//打印两次
// return;
// }
/***
* 打印7次
*/
// continue;
//打印十三次
System.out.println("java基础班"+i);
// }
}
System.out.println("java基础班"+i);
}
}
}
package day4.work;
/**
* 打印九九乘法表
*/
public class WorkDay04_02 {
public static void main(String[] args){
for(int i = 1;i<10;i+=1){
for (int j=1 ; j<=i; j++){
int num = i*j;
System.out.print(j+"*"+i+"="+num+"\t");
}
System.out.println();
}
}
}