前情提要:
祝你成为越来越幸福的人!
作者主页: 追光者♂
个人简介:
[1] 计算机专业硕士研究生
[2] 2022年度博客之星人工智能领域TOP4
[3] 阿里云社区特邀专家博主
[4] CSDN-人工智能领域优质创作者
[5] 预期2023年10月份 · 准CSDN博客专家
- 无限进步,一起追光!!!
感谢大家 点赞 收藏⭐ 留言!!!
本篇是章节阶段性复习。主要回顾String类的使用 以及与基本数据类型变量间的运算、进制的认识以及常用运算符中的算术运算符和赋值运算符。需要注意的是,本篇的练习已经在之前的章节进行过讲解,各位在学习时可以参见本专栏此前内容亦或在博主主页根据关键字检索学习。
+
。运算的结果是String类型。通过实例来更清晰地回顾。
这也是我们之前练习过的内容,更多的讲解,可以参阅本专栏 此前的文章哦~
/*
基本数据类型与String的运算
一、关于String的理解
1. String类,属于引用数据类型,俗称字符串。
2. String类型的变量,可以使用一对""的方式进行赋值。
3. String声明的字符串内部,可以包含0个,1个或多个字符。
二、String与基本数据类型变量间的运算
1. 这里的基本数据类型包括boolean在内的8种。
2. String与基本数据类型变量间只能做连接运算,使用"+"表示。
3. 运算的结果是String类型。
*/
class XStringTest_230705 {
public static void main(String[] args) {
String str1 = "Hello World!";
System.out.println("str1");
System.out.println(str1);
String str2 = "";
String str3 = "a";//char c1 = 'a';
//测试连接运算
int num1 = 10;
boolean b1 = true;
String str4 = "hello";
System.out.println(str4 + b1);
String str5 = str4 + b1;
String str6 = str4 + b1 + num1;
System.out.println(str6);//hellotrue10
//思考:如下的声明编译能通过吗?不能
//String str7 = b1 + num1 + str4;
//如何将String类型的变量转换为基本数据类型?
String str8 = "abc";//不能考虑转换为基本数据类型的。
int num2 = 10;
String str9 = num2 + ""; //"10"
//编译不通过
//int num3 = (int)str9;
//如何实现呢?使用Integer类。暂时大家了解。
int num3 = Integer.parseInt(str9);
System.out.println(num3 + 1);
}
}
测试输出:编译不通过的部分,各位亦可 自行打开测试。下同。
/*
要求填写自己的姓名、年龄、性别、体重、婚姻状况(已婚用true表示,单身用false表示)、联系方式等等。
*/
class XXStringExer_230725 {
public static void main(String[] args) {
String name = "刘玲";
int age = 26;
char gender = '女';
double weight = 93;
boolean isMarried = false;
String phoneNumber = "13312341234";
String info = "name = " + name + ",age = " + age + ",gender = " + gender + ",weight = " +
weight + ",isMarried = " + isMarried + ",phoneNumber = " + phoneNumber;
System.out.println(info);
}
}
class SStringExer1_230725 {
public static void main(String[] args) {
//练习1:
//String str1 = 4; //判断对错:no
String str2 = 3.5f + ""; //判断str2对错:yes
System.out.println(str2); //输出:3.5
System.out .println(3+4+"Hello!"); //输出:7Hello!
System.out.println("Hello!"+3+4); //输出:Hello!34
System.out.println('a'+1+"Hello!"); //输出:98Hello!
System.out.println("Hello"+'a'+1); //输出:Helloa1
//练习2:
System.out.println("* *"); //输出:* *
System.out.println("*\t*"); //输出:* *
System.out.println("*" + "\t" + "*"); //输出:* *
System.out.println('*' + "\t" + "*"); //输出:* *
System.out.println('*' + '\t' + "*"); //输出:51*
System.out.println('*' + "\t" + '*'); //输出:* *
System.out.println("*" + '\t' + '*'); //输出:* *
System.out.println('*' + '\t' + '*'); //输出:93
}
}
示例输出:
可回顾:
一些建议:
正数
:原码、反码、补码三码合一。负数
:原码、反码、补码不相同。了解三者之间的关系。补码
的方式存储数据的。本小节中,仅常用的运算符作为重点复习即可。
/*
测试运算符的使用1:算术运算符的使用
1. + - + - * / % (前)++ (后)++ (前)-- (后)-- +
*/
class QAriTest_230725 {
public static void main(String[] args) {
//*******************************
//除法: /
int m1 = 12;
int n1 = 5;
int k1 = m1 / n1;
System.out.println(k1);//2
System.out.println(m1 / n1 * n1);//10
//*******************************
//取模(或取余): %
int i1 = 12;
int j1 = 5;
System.out.println(i1 % j1); //2
//开发中,经常用来判断某个数num1能整除另外一个数num2。 num1 % num2 == 0
//比如:判断num1是否是偶数: num1 % 2 == 0
//结论:取模以后,结果与被模数的符号相同
int i2 = -12;
int j2 = 5;
System.out.println(i2 % j2); //-2
int i3 = 12;
int j3 = -5;
System.out.println(i3 % j3); //2
int i4 = -12;
int j4 = -5;
System.out.println(i4 % j4); //-2
//*******************************
//(前)++ :先自增1,再运算
//(后)++ :先运算,后自增1
int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = " + a1 + ",b1 = " + b1); //a1 = 11,b1 = 11
int a2 = 10;
int b2 = a2++;
System.out.println("a2 = " + a2 + ",b2 = " + b2); //a2 = 11,b2 = 10
//练习1:
int i = 10;
//i++;
++i;
System.out.println("i = " + i);//11
//练习2:
short s1 = 10;
//方式1:
//编译不通过
//s1 = s1 + 1;
//s1 = (short)(s1 + 1);
//System.out.println(s1);
//方式2:
s1++;
System.out.println(s1);
//*******************************
//(前)-- :先自减1,再运算
//(后)-- :先运算,再自减1
//略
//结论:++ 或 -- 运算,不会改变变量的数据类型!
//+ :连接符,只适用于String与其他类型的变量间的运算,而且运算的结果也是String类型。
}
}
/*
测试运算符的使用2:赋值运算符
1. = +=、 -=、*=、 /=、%=
2. 说明:
① 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
② 支持连续赋值。
③ +=、 -=、*=、 /=、%= 操作,不会改变变量本身的数据类型。
*/
class AASetValueTest_230725 {
public static void main(String[] args) {
//***********************************
int i = 5;
long l = 10; //自动类型提升
byte b = (byte)i; //强制类型转换
//操作方式1:
int a1 = 10;
int b1 = 10;
//操作方式2:连续赋值
int a2;
int b2;
//或合并:int a2,b2;
a2 = b2 = 10;
System.out.println(a2 + "," + b2);
//操作方式3:
//int a3 = 10;
//int b3 = 20;
int a3 = 10,b3 = 20;
System.out.println(a3 + "," + b3);
//***********************************
//说明 += 的使用
int m1 = 10;
m1 += 5; //类似于m1 = m1 + 5;
System.out.println(m1);
byte by1 = 10;
by1 += 5; //by1 = by1 + 5操作会编译报错。应该写为: by1 = (byte)(by1 + 5);
System.out.println(by1);
int m2 = 1;
m2 *= 0.1; // m2 = (int)(m2 * 0.1)
System.out.println(m2);
//练习1:如何实现变量的值增加2。
//方式1:
int n1 = 10;
n1 = n1 + 2;
//方式2:推荐
int n2 = 10;
n2 += 2;
//错误的写法:
//int n3 = 10;
//n3++++;
//练习2:如何实现变量的值增加1。
//方式1:
int i1 = 10;
i1 = i1 + 1;
//方式2:
int i2 = 10;
i2 += 1;
//方式3:推荐
int i3 = 10;
i3++; //++i3;
}
}
热门专栏推荐:
持续创作优质好文ing…✍✍✍
记得一键三连哦!!!
求关注!求点赞!求个收藏啦!