java复习第三天 运算符 和 流程 控制语句 基础题

运算符整体特点:必须有一个结果进行返回

1.赋值运算符
=:最基本的赋值运算符,把右边的内容赋值给左边
扩展赋值运算符:+=,-=,*=,/=,%=
a += b; -> a = (a的数据类型)(a+b);
扩展赋值运算符隐含了强制转换
2.关系运算符
特点:结果都是boolean类型,要么true,要么false
==:是否相等的意思
!=:是否不等于的意思
instanceof:判断一个值是否是某一个引用类型,后面面向对象的时候会用到
3.逻辑运算符
特点:可以将多个关系表达式连接起来,最终的结果也是boolean类型

&和&&:结果都是一样的,有false则false,无false则true
|和||:结果都是一样的,有true则true,无true则false
^:相同false,不同true
!:非真即假,非假即真
4.位运算符
注意:都是针对补码进行操作的,然后转换成原码的十进制

左移:对补码进行左移,最高位直接丢弃,右边补0
左移:对补码进行右移,最高位是1就补1,是0就补0,右边的二进制就丢弃
针对正整数的左移和右移几位,就相当于乘以或者除以2的几次方

异或:针对多个数值的补码进行逐位异或,相同取0,不同取1
取值特点:一个值异或另外一个值两次,结果是它本身
5.三元运算符
格式:
(关系表达式)?表达式1:表达式2;
执行流程:
计算关系表达式的值
如果是true就执行表达式1
如果是false就执行表达式2
6.键盘录入
1.导包
import java.util.Scanner;
2.创建对象
Scanner sc = new Scanner(System.in);
3.接收数据
int i = sc.nextInt();
float f = sc.nextFloat();

String s = sc.nextLine();
7.if语句
格式:
if(关系表达式1){
语句体1
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}

else{
语句体n+1;
}
执行流程:
计算表达式1的值
如果值是true就执行语句体1
如果值是false,就计算关系表达式2的值
如果值是true就执行语句体2
如果值是false,就计算关系表达式3的值
如果值是true就执行语句体3
如果值是false,就计算关系表达式n的值
如果值是true就执行表达式n
如果值是false,那么就执行else里面的语句体n+1
注意事项:
if语句后面的小括号里面的值必须是boolean类型的
if语句如果没有大括号,默认控制一条语句;如果想要控制多条语句,必须加上大括号

1.如何实现对两个整数变量的值进行互换。
设两个整数变量为a和b
int a ;
int b ;
int c ;
c=a ;
a=b;
b=c;

2.三元运算符的格式是什么?
执行流程是什么?

三元运算符的格式:
书写格式:
变量1>变量2?变量1:变量2
如果为ture 则打印变量1
如果为false,则打印变量2

3.使用三元运算符完成如下练习
比较两个数是否相等
获取两个数中最大值
获取三个数中最大值
(1)
Scanner sc = new Scanner(System.ln);
int a = sc.nextInt();
int b = sc.nextInt();
if(a==b){
System.out.println(“这两个数相等”);
}
else{
System.out.println(“这两个数不等”);
}
(2)
Scanner sc = new Scanner(System.ln);
int a = sc.nextInt();
int b = sc.nextInt();
if(a>b){
System.out.println(a);
}else{
System.out.println(b);
}

(3)Scanner sc = new Scanner(System.ln);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a>b){
if(b>c){
System.out.println(b);
}else{
if(b>c){
System.out.println(b);
}else{
System.out.println(c);
}
}
}

4.流程控制语句有几种?
顺序
循环
选择

5.if语句的格式有几种?注意事项是什么?分别在什么时候使用?
格式1:
if(条件表达式){
语句1
}else{
语句2
}
格式2:
if(条件表达式1){
语句1
}else if(条件表达式2){
语句2
}else if(条件表达式3){
语句3
}

6.看程序写结果:请自己独立分析,先不要编译运行。
第一题
int x = 1,y = 1;

if(x++==2 & ++y==2)
{
x =7;
}
System.out.println(“x=”+x+”,y=”+y);

x=1,y=1;

第二题
int x = 1,y = 1;

if(x++==2 && ++y==2)
{
x =7;
}
System.out.println(“x=”+x+”,y=”+y);

x=1
y=1


第三题
int x = 1,y = 1;

if(x++==1 | ++y==1)
{
x =7;
}
System.out.println(“x=”+x+”,y=”+y);

x=7
y=1


第四题
int x = 1,y = 1;

if(x++==1 || ++y==1)
{
x =7;
}
System.out.println(“x=”+x+”,y=”+y);

x=7
y=1


第五题
boolean b = true;

if(b==false)
System.out.println(“a”);
else if(b)
System.out.println(“b”);
else if(!b)
System.out.println(“c”);
else
System.out.println(“d”);

输出

b

10.根据用户键盘录入的整数值,求出对应的阶乘。列入5的阶乘就是5*4*3*2*1

public class Test3 {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int s =1;
for(int i=1;i<=a;i++){

s *= i;
}
System.out.println(s);

}
}

11.根据用户键盘录入的整数值,打印对应层级的数字金字塔图案
列入用户输入3那么打印图案如下所示:
1
222
33333
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
for(int i=0;i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值