【Java基础】 · 变量与运算符习题总结

写在前面


        Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误不足之处,请多多指正!谢谢大家!!!

        如果小哥哥小姐姐们对我的文章感兴趣,请不要吝啬你们的小手,多多点赞加关注呀!❤❤❤ 爱你们!!!


目录

写在前面

变量运算符知识详解

标识符的命名规则需要注意哪几点?

基本数据类型有哪几类?包含String吗?

写出基本数据类型自动转化的流程图

整型默认的是什么类型,浮点型(实数型)默认的是什么类型?

对于包名,类名接口名,变量名和函数名,常量名我们习惯如何格式来命名?

定义一个变量需要注意什么?

强制类型转化可能出现的问题

char型变量中能不能存贮一个中文汉字?为什么?

定义float f=3.4;是否正确?

String是最基本的数据类型吗

根据运算符的功能,我们把运算符分成哪几类?

Java有没有goto

用最有效的的方法算出2称以8等于几

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

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

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

以下代码的运行结果

以下代码的执行结果

编程题

一:为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?

二:今天是周二,100天以后是周几?

三:自增

四:考查运算符的优先级

五:编写代码实现两个变量值交换,int m = 3, n =5;

六:如何求一个0~255范围内的整数的十六进制值,例如60的十六进制表示形式3C

比较 +  与  +=

结语


变量运算符知识详解

一文带你深入理解【Java基础】 · ava基本语法(上):变量

一文带你深入理解【Java基础】· Java基本语法(中):运算符


标识符的命名规则需要注意哪几点?

  • 由26个英文字母大小写,0~9,_和$组成
  • 数字不可以开头
  • 不可以使用关键字和保留字,但能包含关键字和保留字
  • Java中严格区分大小写,长度无限制
  • 标识符不能包含空格


基本数据类型有哪几类?包含String吗?

 不包含String。


写出基本数据类型自动转化的流程图

  • 自动类型转换 :容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
  • byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
  • boolean类型不能与其它数据类型运算。
  • 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。


整型默认的是什么类型,浮点型(实数型)默认的是什么类型?

  • 整形默认的是int类型,浮点型默认的是double类型。


对于包名,类名接口名,变量名和函数名,常量名我们习惯如何格式来命名?

  • 包名:多单词组成时,所有字母都小写:xxxyyyzzz
  • 类名和接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名和方法名:多单词组成时,第一个单词首字母小写,第二个单词开始,每个单词首字母大写:xxxYyyZzz
  • 常量名:所有字母都大写,多单词组成时,每个单词用下划线连接:XXX_YYY_ZZZ


定义一个变量需要注意什么?

  • 变量要先声明再使用
  • 什么类型的变量就存储什么类型的数据
  • 变量存在访问范围、同一范围内变量名不能重复
  • 变量定义时可以没有初始值,但是使用时必须赋初始值
  • 变量名的作用域:其定义所在的一对{ }内
  • 变量只有在其作用域内才有效


强制类型转化可能出现的问题

  • 强制类型转换一般不推荐使用,因为有可能会发生精度损失,数据溢出
  • byte/short/char这三种类型都可以发生数学运算,例如加法“+”
  • byte/short/char这三中类型在运算的时候,都会被首先提升为成为int类型,然后再计算
  • boolean类型不能发生数据类型转换   


char型变量中能不能存贮一个中文汉字?为什么?

答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,

所以放一个中文是没问题的


定义float f=3.4;是否正确?

答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4


String是最基本的数据类型吗

答:基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String是java中定义的一个类,类都属于引用数据类型。


根据运算符的功能,我们把运算符分成哪几类?

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 位运算符
  • 三元运算符


Java有没有goto

答:java中的保留字,现在没有在java中使用


用最有效的的方法算出2称以8等于几

答:2<<3


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

能,因为Java一个字符是2个字节,每一个字符使用Unicode编码表示


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

答案:不正确,float f = 3.4F;答案:14


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

基本数据类型有:byte,short,int,long,float,double,char,boolean

String是引用数据类型,不是基本数据类型


以下代码的运行结果

public static void main(String[] args) {
	char x = 'x';
	int i = 10;
	System.out.println(true ? x : i);
	System.out.println(true ? 'x' : 10);
}

答案:

120

x

原因解析:

 * 如果其中有一个是变量,按照自动类型转换规则处理成一致的类型;

 * 如果都是常量,如果一个是char,如果另一个是[0~65535]之间的整数按char处理;

 * 如果一个是char,另一个是其他,按照自动类型转换规则处理成一致的类型;

比如 

true?4:10.0----------->结果为4.0


以下代码的执行结果

public static void main(String[] args) {
	int a = 8, b = 3;
	System.out.println(a>>>b);
	System.out.println(a>>>b | 2);
}

答案:
1
3


编程题

一:为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时?

public class TestExer1 {
	public static void main(String[] args){
		int hour = 89;
		int day = hour / 24;
		hour = hour % 24;
		System.out.println("为抵抗洪水,战士连续作战" + day + "天" + hour + "小时");
	}
}


二:今天是周二,100天以后是周几?

public class TestExer2 {
	public static void main(String[] args) {
		int week = 2;
		week += 100;
        week = week % 7;
		System.out.println("100天后星期" + week);
	}
}


三:自增

public static void main(String[] args) {
	int i = 10;
	i=i++;
    // 先赋值,把i原来的值重新赋值给i,不变,然后i自增,但是这个自增后的值没有在放回变量i的位置
	System.out.println(i);//10
}


四:考查运算符的优先级

class Demo {
	public static void main(String[] args) {
		int x = 0, y = 1;
		if (++x == y-- & x++ == 1 || --y == 0)
			System.out.println("x=" + x + ",y=" + y); // x = 2,y = 0;
		else
			System.out.println("y=" + y + ",x=" + x);
	}
}


五:编写代码实现两个变量值交换,int m = 3, n =5;

class swap {
	public static void main(String[] args) {
		int m = 3, n = 5;

		/*
		 * 答案一: int temp = m; m = n; n = temp;
		 * 
		 * 答案二: m = m + n; n = m - n; m = m - n;
		 */

		// 答案三:
		m = m ^ n;
		n = m ^ n;
		m = m ^ n;
	}
}


六:如何求一个0~255范围内的整数的十六进制值,例如60的十六进制表示形式3C

//方式一:自动实现
String str1 = Integer.toBinaryString(60);
String str2 = Integer.toHexString(60);

//方式二:手动实现
int i1 = 60;
int i2 = i1&15;//15: 1111
String j = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";
int temp = i1 >>> 4;
i2 = temp & 15;
String k = (i2 > 9)? (char)(i2-10 + 'A')+"" : i2+"";
System.out.println(k+""+j);


比较 +  与  +=

short s1 = 1; s1 = s1 + 1;有什么错?

short s1 = 1; s1 += 1;有什么错

答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译)


结语


本人会持续更新文章的哦!希望大家一键三连,你们的鼓励就是作者不断更新的动力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麟-小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值