java基础面试题002
第六题:运算符
运算符是一些特殊的符号,主要用于数学函数,一些类型的符值语句和逻辑比较方面。
①符值运算符
符值运算符使用 = 来表示,它的意思是把 = 号右边的值复制给左边,右边的值可以是任何常数、变量或者表达式,但左边的值必须是一个明确的,已经定义的变量。但是对于对象来说,复制的不是对象的值,而是对象的引用,所以如果说一个对象赋值给另外一个对象,实际上是将一个对象的引用赋值给另外一个对象。
②算数运算符
算数运算符就和数学中的数值计算差不多。
预算符 | 说明 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
算数运算符需要注意优先级的问题,在不确定优先级的情况下,直接使用括号就可以了,因为()的优先级最高。
③自增、自减运算符
int a = 5;
int b = ++a;
int c = a--;
System.out.println(a);
System.out.println(b);
System.out.println(c);
// 输出结果 5 6 6
int a = 5;
int b = ++a;
int c = --a;
System.out.println(a);
System.out.println(b);
System.out.println(c);
// 输出结果 5 6 5
这两种情况在计算时候是不一样的,但是最终变量a的值是相等的。
④比较运算符
比较运算符用于程序中变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是 boolean型。
运算符 | 说明 |
---|---|
> | 比较 左方 是否大于 右方 |
< | 比较 左方 是否小于 右方 |
== | 比较 左方 是否等于 右方 |
>= | 比较 左方 是否大于等于 右方 |
<= | 比较 左方 是否小于等于 右方 |
!= | 比较 左方 是否不等于 右方 |
⑤逻辑运算符
运算符 | 作用 |
---|---|
&& | 短路与 |
|| | 短路或 |
! | 逻辑非 |
& | 逻辑与 |
| | 逻辑或 |
^ | 逻辑异或 |
⑥按位运算符
按位运算符用来操作整数基本类型中的每个 比特 位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
按位与:按位进行与运算 AND,两个操作数都为1,结果才为1。
按位或:按位进行或运算 OR,两个位只要有一个为1,那么结果就是1。
按位非:按位进行取反运算 NOT,如果位为0,结果是1,如果位为1,结果是0。
按位异或:按位进行异或运算 XOR,两个操作数的位中,相同则结果是0,不同则结果是1。
⑦移位运算符
移位运算符用来操作数向某个方向移动指定的二进制位数。>> 右移运算符 << 左移运算符。
⑧三元运算符
语法为:条件表达式?表达式1:表达式2 。问号前面的位置是判断的条件,判断结果为布尔型,为true时调用表达式1,为false时调用表达式2。
第七题:执行控制流程
条件语句:根据不同的条件执行不同的语句。
if条件语句:
String blogs = "浪海博客";
String url = "http://www.langhai.cc";
if(!blogs.equals(url)){
System.out.println("两者内容不相等");
}
// 因为二者内容不相等,输出字符串 两者内容不相等
if...else条件语句:如果满足某种条件,就进行某种处理,否则就进行另一种处理。
String blogs = "浪海博客";
String url = "http://www.langhai.cc";
if(!blogs.equals("浪海博客")){
System.out.println("两者内容不相等");
}else {
System.out.println("两者内容相等");
}
// 因为两者内容相等,输出字符串 两者内容相等
if...else if多分支语句:适用于多个判断条件的情况。
String url = "http://www.langhai.cc";
if(url.length() > 10){
System.out.println("url字符串长度大于10");
}else if (url.length() > 0){
System.out.println("url字符串长度大于0");
}else {
System.out.println("url字符串长度等于0");
}
// 输出内容 url字符串长度大于10
switch多分支语句:
String blogs = "浪海博客系统";
switch (blogs){
case "浪海博客系统":
System.out.println("浪海博客系统");
break;
case "A博客系统":
System.out.println("A博客系统");
break;
default:
System.out.println("其他博客系统");
break;
}
循环语句:在满足一定条件下反复执行某一表达式的操作,直到满足循环语句的要求。
while循环语句:利用一个条件来控制是否要继续反复执行这个语句。
String blogs = "浪海博客系统";
int count = 5;
while (count > 0){
System.out.println(blogs);
count--;
}
// 最终会输出五遍 浪海博客系统
do...while循环语句:和while语句的唯一区别就是do...while语句至少执行一次。
String blogs = "浪海博客系统";
int count = 5;
do {
System.out.println(blogs);
}while (count > 10);
// 无论满不满足判断条件,至少都会执行一次代码。
for循环语句:每次迭代前会测试布尔表达式。
String blogs = "浪海博客系统";
int count = 5;
for (int i = 0; i < count; i++) {
System.out.println(blogs);
}
// 最终会输出五遍 浪海博客系统
for-each语句:JDK1.5中引入的更简洁、方便的方法。
int[] array = {1, 2, 3};
for (int i : array) {
System.out.println(i);
}
// 遍历数组里面的内容
跳转语句:
break语句:用于终止循环操作,强行退出当前循环。
int[] array = {1, 2, 3};
for (int i : array) {
if(i == 2){
break;
}
System.out.println(i);
}
// 遍历到2的时候,就会强制退出循环
continue语句:不会退出当前循环,而是结束这一次的循环。
int[] array = {1, 2, 3};
for (int i : array) {
if(i == 2){
continue;
}
System.out.println(i);
}
// 遍历到2的时候,结束本次循环,下一次循环不会结束。
return语句:一个方法返回,要用到这个。控制权由这个决定。
/**
* 场景:用户更新文章,保存到数据库。
*
* @param articleDTO
* @return 数据 200代表成功 其他代表失败
*/
@PostMapping("/updateArticle")
@ResponseBody
public ResultResponse updateArticle(@RequestBody @Validated ArticleDTO articleDTO){
articleService.updateArticle(articleDTO);
return ResultResponse.success(ArticleReturnCode.ARTICLE_UPDATE_OK_00003);
}
本文仅供学习使用,如果文章内容侵权请联系 [email protected] 删除。
非特殊说明,本文版权归 langhai 所有,转载请注明出处。
本文标题: java基础面试题002
延伸阅读
- 浪海博客系统友情链接说明
- 浪海同志的一生
- 浪海皇室 QQ飞车手游
- 浪海博客系统部署说明
- minio 相关说明
- rabbitMQ 相关说明
- mysql相关说明
- java基础面试题002
- gateway服务网关基本使用
- ribbon负载均衡