3月23日作业

第02章_变量与运算符拓展练习

1、辨别标识符

  • 是否符合规则,即编译是否报错?
  • 是否符合规范?即是否够优雅

(1)以下标识符作为类名是否合适

Test,a,test,ttt,class, public, int,你的名字,exercise8,Exercise8
编译报错: class  public  int

编译不报错到不好:a  ttt  你的名字 exercise8   test 

合适的类名:Test    Exercise8 

(2)以下标识符作为变量名是否合适

miles, Test, a++, --a, 4#R, $4, #44, apps, class, public, int, x, y, radius,你的名字,a1,1b,b0a
编译报错:a++ --a 4#R #44 1b  class public int
编译不报错但不好: 你的名字  Test $4 b0a a1
合适的类名有:miles apps x y radius 

2、数据类型转换简答

//1、练习题:判断如下代码是否编译通过,如果能,结果是多少?
short s1 = 120;
short s2 = 8;
short s3 = s1 + s2;              // 不能


//2、练习题:判断如下代码是否编译通过,如果能,结果是多少?
short b1 = 120;
short b2 = 8;
byte b3 = (byte)(b1 + b2);           /-128


//3、练习题:判断如下代码是否编译通过,如果能,结果是多少?
char c1 = '0';
char c2 = '1';
char c3 = c1 + c2;           //不能


//4、练习题:判断如下代码是否编译通过,如果能,结果是多少?
char c1 = '0';
char c2 = '1';
System.out.println(c1 + c2);            //能   97

//5、练习题:判断如下代码是否编译通过,如果能,结果是多少?
int i = 4;
long j = 120; //自动类型提升
double d = 34; //自动类型提升
float f = 1.2;
System.out.println(i + j + d + f);             //不能


//6、练习题:判断如下代码是否编译通过,如果能,结果是多少?
int a = 1;
int b = 2;
double result = a/b;
System.out.println(result);      //能   0.0   

3、判断如下代码的运行结果(难)

public class Exer3{
public static void main(String[] args){
int i = 1;
int j = i++;
int k = i++ * ++j + ++i * j++;
System.out.println("i = " + i);       //4
System.out.println("j = " + j);       //3
System.out.println("k = " + k);       //12
}
}

4、判断如下程序的运行结果

//如下代码的计算结果是:
int i = 1;
i *= 0.2;
i++;
System.out.println("i=" + i);        //1

5、判断如下程序的运行结果

//如下代码的运算结果是:
int i = 2;
i *= i++;
int j = 2;
j *= j+1;
int k = 2;
k *= ++k;
System.out.println("i=" + i);    //4
System.out.println("j=" + j);    //6
System.out.println("k=" + k);    //6

6、Java的基本数据类型有哪些?String是基本数据类型吗?

Java的基本数据类型:byte,short,int,long,float,double,char,boolean
String 不是基本数据类型

7、语法判断

float f=3.4;是否正确,表达式15/2*2的值是多少

float f=3.4;       //否
System.out.println(15/2*2);        //14    

8、char型变量中是否可以存储一个汉字?

可以

9、说明基本数据类型变量之间自动类型提升的运算规则

容量小的类型自动转话为容量大的类型
有多种类型的数据混合运算时,系统首先自动将所有数据转化成容量最大的那种数据类型,然后进行计算
byte,short,char之间不会相互转换,他们三者计算为int类型

10、说明基本数据类型变量之间强制类型转换的使用规则和可能的问题

强制类型转换:自动类型转换的逆运算,需要使用强制类型转换符
可能会导致精度损失

11、按步骤编写代码,效果如图

编写步骤:
1. 定义类 Test4
2. 定义 main方法
3. 定义2int类型变量x、y,x赋值为100,y赋值为200
4. 定义新变量add,保存变量x,y的和并打印到控制台
5. 定义新变量sub,保存变量x,y的差并打印到控制台
6. 定义新变量mul,保存变量x,y的积并打印到控制台
7. 定义新变量div,保存变量x,y的商并打印到控制台


public class Test4 {
    public static void main(String[] args) {
        int x=100;
        int y=200;
        int add=x+y;
        System.out.println("x,y的和为:"+add);
        int sub=x-y;
        System.out.println("x,y的差为:"+sub);
        int mul=x*y;
        System.out.println("x,y的积为:"+mul);
        int div=x/y;
        System.out.println("x,y的商为:"+div);
    }
}

12、按步骤编写代码,效果如图

package First_demo2;
/*1. 定义类 Test5
2. 定义 main方法
3. 定义两个byte类型变量b1,b2,并分别赋值为10和20.
4. 定义变量b3,保存b1和b2的和,并输出.
5. 定义两个short类型变量s1,s2,并分别赋值为1000和2000.
6. 定义short类型变量s3,保存s1和s2的和,并输出.
7. 定义一个char类型变量ch1赋值为'a',一个int类型变量i1赋值为30.
8. 定义变量ch3,保存c1和i1的差,并输出*/
public class Test5 {
    public static void main(String[] args) {
        byte b1=10;
        byte b2=20;
        byte b3= (byte)( b1+b2);
        System.out.println("byte类型变量b1,b2的和为:"+"\n"+b3);
        short s1=1000;
        short s2=2000;
        short s3= (short) (s1+s2);
        System.out.println("short类型的s1,s2的和为:"+"\n"+s3);
        char ch1='a';
        int i1=30;
        int  ch3= ch1-i1;
        System.out.println("char类型的ch1和int类型的i1的差为:"+"\n"+ch3);
    }
}



13、按步骤编写代码,效果如图

package First_demo2;
/*1. 定义类 Test6
2. 定义 main方法
3. 定义两个int类型变量a1和a2,分别赋值10,11,判断变量是否为偶数,拼接输出结果
加: +
减: -
乘: *
除: /
4. 定义两个int类型变量a3和a4,分别赋值12,13,判断变量是否为奇数,拼接输出结果*/
public class Test6 {
    public static void main(String[] args) {
        int a1=10;
        int a2=11;
        boolean a11=a1%2==0?true:false;
        System.out.println("10是偶数?"+a11);
        boolean a22=a2%2==0?true:false;
        System.out.println("11是偶数?"+a22);
        int a3=12;
        int a4=13;
        boolean a33=a1%2==1?true:false;
        System.out.println("12是奇数?"+a33);
        boolean a44=a2%2==1?true:false;
        System.out.println("13是奇数?"+a44);

    }
}

14、桃园结义获取老大的年龄

package First_demo2;
/*历史中,刘关张桃园三结义大家非常熟悉了。现有三个学生,年龄如下:
刘小备:23岁
关小羽:22岁
张小飞:21岁
获取三人中最大的年龄*/
public class Test7 {
    public static void main(String[] args) {
        int a1=23;
        int a2=22;
        int a3=21;
        System.out.println("三人中最大的年龄是"+((a1>a2?((a1>a3)?a1:a3):((a2>a3)?a2:a3))));
    }
}

15、判断闰年

package First_demo2;

import java.util.Scanner;

/*给定一个年份,判断是否是闰年。输出"xxx年(是/不是)闰年"。
闰年的判断标准是:
1)可以被4整除,但不可被100整除
2)可以被400整除*/
public class Test8 {
    public static void main(String[] args) {
       /* System.out.println("请输入一个年份:");
        Scanner scanner = new Scanner(System.in);
        int years = scanner.nextInt();*/
        int years = 2024;
        boolean a = (years % 4 == 0 && years % 100 != 0) || (years % 400 == 0);
        System.out.println(years+(a?"是闰年":"不是闰年"));

    }
}

课后总结

Java变量是存储数据的命名内存位置,类型决定其能存储的数据种类,常见类型包括整数、浮点数、字符和布尔值。基本运算符包括算术运算符(如 `+`、`-`、`*`、`/` 和 `%`)、关系运算符(如 `==`、`!=` 和 `>`)、逻辑运算符(如 `&&` 和 `||`)等。这些运算符使得程序能够执行各种计算和条件判断。

你可能感兴趣的:(笔记)