复习要点
1.变量,运算符,条件判断,循环
1.1变量的基础常识
// 变量分为两大类型 : ①基本数据类型;②引用数据类型
// 基本数据类型 (四类八种):
整型(byte,short,int,long),浮点型 (float,double),字符型(char),布尔型(boolean)
// 引用数据类型
数组array
类class
接口interface
// 基本数据类型和引用数据类型的区别
基本数据类型存的是值,保存在栈内存当中
引用数据类型存的是地址,地址保存在栈内存,地址指向堆中,堆中有相应的数据或属性
1.2变量的声明
// 基本数据类型声明
int num1 = 100;
boolean bool1 = true;
// 引用数据类型声明
String str = "hello";
int arr[] = {1,2,3,4,5};
Student student = new Student();
List<String> list = new ArrayList<>();
UserinfoService userinfoService = new UserinfoServiceImpl(); // 上溯造型
...
1.3变量的作用域
// 作用域 : 即变量的有效范围
// 这里就要提一下变量的一些特点 : 变量可以声明在方法里,方法形参中,类中
public class Demo {
// 声明在类中的变量称为全局变量(也称为成员变量,实例变量,对象属性)
// 在类中的每一个非静态方法中都可以使用
int num = 100;
// 局部变量 : 形参,test1方法执行需要的参数,这个方法就是它的作用域,只在test1方法中有效
// 注意:test1中输出打印的num是形参中的num,不是全局变量的num,因为有就近原则
public void test1(int num){
System.out.println(num);
}
// 局部变量 : 在方法内部声明的变量,作用域是在声明它的位置开始,到方法块结束
public void test2(){
int num = 300;
System.out.println(num);
}
}
注意:全局变量具有默认值,局部变量没有,必须赋值
整型
默认值和浮点型
默认值都为0
,引用数据类型
默认值为null
1.4常量
public class Demo {
// 用final修饰,常量是不可以改变的
final int num = 100;
public void test2(){
final int num = 300;
System.out.println(num);
}
}
2.运算符
2.1 常见的运算符
运算符 | 功能 | 备注 |
---|---|---|
+ | 有字符串参与就是字符串拼接,否则表示加法 | |
- | 减法 | |
* | 乘法 | |
/ | 除法 | 整型与整型相除,结果取整 |
++ | 自增 | |
-- | 自减 | |
表达式1?表达式2:表达式3 | 表达式1如果是true,返回表达式2,否则返回表达式3 | |
% | 模运算,取余数 | |
+=、-=、*=、/=、%= | i+=1 相当于 i = i + 1 |
2.2逻辑与算符
运算符 | 功能 | 备注 |
---|---|---|
&& | 与 | |
|| | 或 | |
! | 非 | 专门对boolean值取反 |
2.3按位运算符(了解)
运算符 | 功能 | 备注 |
---|---|---|
& | 按位与 | |
| | 按位或 | |
<< | 左移 | a<<b,相当于a*(b的2次方) |
按位与(&)或(|)与逻辑与(&&)或(||)的区别
按位与或除了能参与逻辑运算,还能参与位运算(位运算是一种针对二进制整数的运算方式),而逻辑与或不可以
逻辑与或具有短路性
3.条件判断
// 单一条件
if(条件){
}
// 二选一条件
if(条件){
}else{
}
// 多选一条件
if(条件1){
}else if(条件2){
}else if(条件3){
}else{
}
// switch 多选一条件
switch(){
case 1:
break;
case 2:
break;
default :
...
}
4.循环
java提供了三种循环结构
// for循环
for (int i = 0;i < 5;i++){
System.out.println(i);
}
// while循环
int i = 0;
while(i < 5){
System.out.println(i);
i++;
}
// do..while循环
do{
System.out.println(i);
i++;
}while(i < 5);
注意:do..while与while的区别,do...while至少执行一次,因为它先进入循环体,后判断条件
经典练习题
变量及运算符
-
1.java中有哪些数据类型,分别描述
基本数据类型1.整数型 byte,short,int,long
2.浮点型 float,double
3.字符型 char
4.布尔型 boolean
引用数据类型
-
2.有两个整型变量a=5,b=7,如何将两个变量的值进行互换
定义第三个变量
-
3.基本数据类型和引用数据类型内存上有什么区别
基本数据类型存的是值,保存在栈内存当中
引用数据类型存的是地址,地址保存在栈内存,地址指向堆中,堆中有相应的数据或属性 -
4.按位与(&)或(|)与逻辑与(&&)或(||)的区别
按位与或除了能参与逻辑运算,还能参与位运算(位运算是一种针对二进制整数的运算方式),而逻辑与或不可以
逻辑与或具有短路性
条件判断
-
5.判断一个数字是偶数还是奇数,是偶数打印“是偶数”,否则打印“是奇数”
if(a%2==0){ System.out.println(a+"是偶数"); }else{ System.out.println(a+"是奇数"); };
-
6.判断一个年份是闰年还是平年
if((a%4==0&&a%100!=0) ||(a%100==0 && a%400==0)){ System.out.println(a+"是闰年"); }else{ System.out.println(a+"是平年"); };
-
7.判断一个分数,如果在60分以下,打印不及格,80分以上打印优秀,60到80之间打印良好
if(a<60){ System.out.println("不及格"); }else if(a>80){ System.out.println("优秀") }else{ System.out.println("良好") };
循环
-
8.在控制台打印1,2,3,4,5
for(int a=0;i<5;i++){ System.out.println(i); };
-
9.随机生成5个1-35之间的数字
int a=0; for(int i=0;i<5;i++){ a=(int)(Math.randum()*35); System.out.println(a); }
-
10.求1+2+3+4....+100的和
int a=0; for(int i=1;i<=100;i++){ a=a+i; }; System.out.println(a);
-
11.一球从100米高度自由落下,每次落地后反跳回原高度的一半; 再落下,求它在第10次落地时,共经过多少米?第10次反弹多高
int a=100;//起始高度 int b=50;//第一次弹起高度 for(int i=0;i<10;i++){ a=a+b*2; b=b/2; } System.out.println("第10次落地时,共经过"+a+"米"); System.out.println("第10次反弹"+b+"米");
-
12.利用循环嵌套打印99乘法表
for(int i=1;i<=9;i++){//行数 for(int j=1;j<=i;j++) {//列数 System.out.print(i+"*"+j+"="+(i*j)); } System.out.println(); }
备注 : int x = 1;x = x + 1结果还是1,不是2!!!!
byte short char 在做运算时都是int类型需要强转
网友评论