30天搞定Java--day3

每日问题和复习

问题与解答

  1. 标识符的命名规则有哪些?
// 自己的答案
1.由英文字母(区分大小写)、数字、下划线和$组成
2.不能以数字开头
3.不能与关键字和保留字重复
4.同一代码块不能定义相同的标识符
// 标准答案
1.26个英文字母大小写,0-9 ,_或 $ 组成
2.数字不可以开头
3.不可以使用关键字和保留字,但能包含关键字和保留字
4.Java中严格区分大小写,长度无限制
5.标识符不能包含空格
  1. 标识符的命名规范有哪些?
// 自己的答案
1.包名小写单词组合aaabbbccc
2.类的名称AaaBbbCcc
3.变量的名称aaaBbbCcc
4.常量的名称AAA_BBB_CCC
// 标准答案
1.包名:多单词组成时所有字母都小写:xxxyyyzzz
2.类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
3.变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
4.常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
  1. Java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小
// 按照数据类型分类
基本数据类型:
	数值型:
		整数型:byte short int long
		浮点型:float double
	字符型:char
	布尔型:boolean
引用数据类型:类、接口、数组
变量类型占用空间的大小(字节)
boolean1
byte1
char2
short2
int4
long8
float4
double8
  1. 说明基本数据类型变量之间自动类型提升的运算规则。
byte
int
char
short
long
float
double
  1. 说明基本数据类型变量之间强制类型转换的使用规则和强转可能出现的问题。
// 强制类型转换的使用规则
容量大->容量小
使用强制转换符()
// 可能出现的问题
精度损失、得到错误的值

复习
day2的学习内容

运算符

算术运算符

运算符运算范例结果
+正号+33
-负号b=4;-b-4
+5+510
-6-42
*3*412
/5/51
%取余7%52
++(前)先运算后取值a=2;b=++aa=3;b=3
++(后)先取值后运算a=2;b=a++a=3;b=2
–(前)先运算后取值a=2;b=–aa=2;b=1
–(后)先取值后运算a=2;b=a–a=2;b=2
+字符串连接“He”+“llo”“Hello”
  • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。

赋值运算符

  • 符号:=
    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理
    • 支持连续赋值
  • 扩展赋值运算符: +=, -=, *=, /=, %=

比较运算符(关系运算符)

运算符运算范例结果
==相等于4==3false
!=不等于4!=3true
<小于4<3flase
>大于4>3true
<=小于等于4<=3false
>=大于等于4>=3true
instanceof检查是否是类的对象“Hello” instanceof Stringtrue

逻辑运算符

& —逻辑与   | —逻辑或   !—逻辑非
&&—短路与   ||—短路或   ^—逻辑异或
aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefalsefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetruefalse
  • 逻辑运算符用于连接布尔型表达式
  • “&”和“&&”的区别:
    • 单&时,左边无论真假,右边都进行运算
    • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
  • “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算

位运算符

运算符运算范例细节
<<左移3<<2 = 12空位补0,高位丢弃
>>右移3>>1 = 1最高位是0补0,是1补1
>>>无符号右移3>>>1 = 1最高位用0补
&与运算6&3 = 21&1 = 1,否则为0
|或运算6|3 = 70|0 = 0,否则为1
^异或运算6^5 = 5相同为1,不同为0
~取反运算~6 = -7补码各位取反
  • 位运算是直接对整数的二进制进行的运算

三元运算符

  • 格式: (条件表达式)?表达式1:表达式2;
    • 条件表达式为true,运算后的结果是表达式1;
    • 条件表达式为false,运算后的结果是表达式2;
  • 表达式1和表达式2为同种类型(可统一为一个类型)
  • 三元运算符可以嵌套
  • 凡是可以使用三元运算符的地方,都可以改写为if-else,优先使用三元运算符

程序流程控制

顺序结构

  • 程序从上到下逐行地执行,中间没有任何判断和跳转

分支结构

  • 根据条件,选择性地执行某段代码
  • 有if-else和switch-case两种分支语句
// 情况1
if(条件表达式){
	执行代码块;
}

在这里插入图片描述

// 情况2
if(条件表达式){
	执行代码块1;
}
else{
	执行代码块2;
}

在这里插入图片描述

// 情况3
if(条件表达式1){
	执行代码块1;
}
else if(条件表达式2){
	执行代码块2;
}
……
else{
	执行代码块n;
}

在这里插入图片描述

  • 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
  • 语句块只有一条执行语句时,一对{}可以省略,但建议保留
  • if-else语句结构,根据需要可以嵌套使用
  • 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略
  • 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓当多个条件是“包含”关系时,“小上大下 / 子上父下”

循环结构

  • 根据循环条件,重复性的执行某段代码
  • 有while、do…while、for三种循环语句
  • 注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素

总结

今天主要学习的内容是运算符,程序控制流程讲解了一部分,刚刚开始还比较基础

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值