003天
行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力!
注释(单行注释,多行注释,文档注释)
什么是注释?请写出单行注释,多行注释,以及文档注释
注释就是让程序员看的文字,便于理解程序的内容。单行注释: 使用“//”开头,“//”后面的单行内容均为注释。多行注释: 以“/*”开头以“*/”结尾,在“/*”和“*/”之间的内容为注释,我们也可以使用多行注释作为行内注释。但是在使用时要注意,多行注释不能嵌套使用。文档注释: 以“/**”开头以“*/”结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API).
2.标识符规则_驼峰规则
标识符的作用是什么,标识符的声明需要遵循哪些规则,哪些规范,标识符可以使用汉字么?
标识符是用来给变量、类、方法以及包进行命名的,如Welcome、main、System、age、name、gender等。标识符需要遵守一定的规则:标识符必须以字母、下划线_、美元符号$开头。 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。Java 标识符大小写敏感,且长度无限制。标识符不可以是Java的关键字。
汉字可以作为标识符。
什么是驼峰规则?username、userName、user_name、USERNAME、USER_NAME哪些是按照驼峰规则定义的标识符?
表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写。userName是按照驼峰规则来定义的标识符。
表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写。userName是按照驼峰规则来定义的标识符。
Java的关键字保留字
变量的本质_声明格式和初始化问题
变量的本质是什么?
变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值,就像是房间号和入住的客人一样,房间号是变量名,而客人就是变量的值。
变量的要素是哪三点?
其要素包括变量名,变量类型和作用域,必须先声明,再赋值,最后再使用。
变量分类(局部变量,成员变量,静态变量)
什么是局部变量?什么是成员变量?什么是静态变量?它们的生命周期(从什么时候开始,什么时候结束)分别是?
常量和final
什么是常量,什么是字面常量?什么是符号常量?
常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量。
变量和常量的命名规则有哪些?
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则: monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则: Man, GoodMan
方法名:首字母小写和驼峰原则: run(), runRun()
基本数据类型介绍
数据类型分为哪两大类?
分为常量和变量
基本数据类型中有几大类?又细分为哪几种(需要牢记)?分别占据的空间是多少?
整型变量和整型常量
整型分为哪几种?整型常数默认为什么类型?每种整型占多少空间?表示的范围是多少?
分为long,int,byte,short,默认为int,其中byte占用一个字节,short占用两个字节,int占用4个字节,long占用8个字节。
整型常量的表示形式有哪几种?分别是什么样的格式?(可以贴代码截图,记得代码要有注释)
十进制整数,如:99, -500, 0
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制数,要求0b或0B开头,如:0b01110011
浮点型变量和BigDecimal的使用
浮点型的表示形式有几种?分别是什么样的格式?
包括float和double两种,
十进制数形式,例如:3.14 314.0 0.314
科学记数法形式,如314e2 314E2 314E-2
浮点型有几种?分别精确到几位有效数字?浮点型适合金融领域么?金融领域用什么比较好?为什么
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double表示这种类型的数值精度约是float类型的两倍 ,浮点类型float,double的数据不适合在不容许舍入误差的金融计算领域。如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
字符串类型_转义字符
‘a’和”a”分别是什么数据类型?
字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。
char类型占几个字节?一个汉字占几个字节?一个char变量能存储一个汉字么?
两个字节,一个汉占两个字节,一个char变量可以储存一个汉字。
什么是转义字符?分别有什么作用?
布尔型_if语句的使用要点
布尔型的值有哪些,占用多少存储空间?
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
布尔值一般配合什么关键字一起使用?
一般搭配if使用。
运算符介绍
运算符有哪些?
算数运算符分为哪些?整型做运算,浮点数做运算,有什么需要注意的?
算术运算符中+,-,*,/,%属于二元运算符,二元运算符指的是需要两个操作数才能完成运算的运算符。其中的%是取模运算符,就是我们常说的求余数操作。
二元运算符的运算规则:
整数运算:
1. 如果两个操作数有一个为Long, 则结果也为long。
2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int。
浮点运算:
3. 如果两个操作数有一个为double,则结果为double。
4. 只有两个操作数都是float,则结果才为float。
取余操作,余数与谁的符号一致?
“余数”符号和左边操作数相同
++ -- 操作在数字前后有什么区别?举例说明
什么是短路与,短路或?
短路与和短路或采用短路的方式。从左到右计算,如果只通过运算符左边的操作数就能够确定该逻辑表达式的值,则不会继续计算运算符右边的操作数,提高效率。
怎么样计算3*16最快? 为什么
左移运算符4位。
扩展思考:什么是强类型语言,什么是弱类型语言。各有什么优缺点
强类型和弱类型主要是站在变量类型处理的角度进行分类的。
强类型是指不允许隐式变量类型转换,弱类型则允许隐式类型转换。
所以,关键在于变量数据类型的转换。
什么叫隐式类型转换?
隐式是指源码中没有明显的类型转换代码,也就是说,一个变量,你可以直接给他赋值字符串,也可以直接给他赋值数值,你还可以直接让字符串类型的变量和数值类型的变量相加,虽然得出的最终结果未必是你想象的那样,但一定不会报错。
这就是隐式类型转换,弱类型语言,如javascript、php。
Java是强类型语言,不允许隐式类型转换,也就是说,如果你需要拿一个字符串变量当做整型来用,你必须显式地将变量类型转换好。
换句话说:
强类型语言,当你定义一个变量是某个类型,如果不经过代码显式转换(强制转化)过,它就永远都是这个类型,如果把它当做其他类型来用,就会报错
弱类型语言,你想把这个变量当做什么类型来用,就当做什么类型来用,语言的解析器会自动(隐式)转换。
比较
弱类型显然让开发者更省力一些,一些数据类型不是很复杂的场景中基本可以不用关注数据类型的问题,这可以提高开发者的业务处理专注力,提升逻辑开发效率。
但同样,弱类型也因为它的特性,使开发者在开发过程中对变量类型的检测力度不够大,由此提高数据类型方面问题出现的可能性。
另外,弱类型语言的运行效率,内存利用率显然也比不上强类型语言。因为弱类型语言在运行过程中,存在变量类型的隐式转换,多了一些需要执行的操作,并且,分配内存时,会考虑通用而多分配一些,而强类型则专门为各种类型的变量量身定做地分配内存,内存利用率显然比弱类型会高。
选择
对于开发者来说,一般很少会去想,选择什么语言开发,而是去想我学了这门语言,如何找到这门语言的工作。
但其实,语言的选择,是存在的。
比如,你负责一个项目,在做选型的时候,弱类型与强类型的一些优缺点,就是一个需要考虑的因素。