[JAVASE]笔记2

·类的简介:

1、一个文件中可以有多个类,但是只能有一个类被public修饰,且该类的名字必须与文件名保持一致(包括大小写)。
2、一个类中只能有一个主方法。
3、一个java文件有多个类,在编译时,会以类为单位,编译成多个class文件。
4、一个类中可以没有主方法,但是没有主方法的类不能解释执行。

·注释:对解释说明的文字
1、为什么要使用注释?
a、对程序的解释说明;b、便于后期维护。
分为单行注释,多行注释和文档注释。

·标识符:
1、java中一切起名字的名字就是标识符。
2、标识符的命名规则:
a.标识符是字母、下划线、美元符和数组的任意组合,但是数字不能放首位。
b.标识符严格区分大小写。
c.关键字(包括保留字)不能作为标识符使用。
3、标识符的命名规范:
a、见名知意
b、遵守驼峰原则进行取名:
包名:全部小写,且每个层级之间使用.进行分隔。(分为单级包和多级包)
类|接口每个单词的首字母进行大写。其余字母小写。
方法|变量名:第一个单词字母全部小写,第二个单词开始,首字母大写,其他字母小写。
常量名:各单词的字母全部大写,单词之间用下划线_进行分隔。

·关键字:
1、在java中,有一些词java有自己的用法或者用途,这些词被称之为关键字。一般提到关键字都包含保留字,只有特定的情况下需要区分。
2、保留字有const ,goto。
3、保留字是有些词将来java有自己的用法或者用途

·常量constant
在程序运行期间,其值不会发生变化的量叫做常量。
1、分类:
字面值常量:
整型常量、小数常量、字符常量、字符串常量、布尔常量、空常量null
自定义常量:用final关键字修饰的常量

·变量:
在程序运行期间,其值可以发生改变的量叫变量
在内存中开辟一块空间,用来存放指定类型的数据
用以存放单个数据

1、语法
数据类型 变量名 = 变量值;

=是java中唯一一个自右向左运算的符号。

2、关注的点:
a、作用域{}
b、同一作用域下变量名不能冲突

3、使用变量的时候应该注意的事项:
a、在使用变量前,变量必须已经被声明和赋值(成员变量会自动默认赋值)
b、变量必须在作用域内进行使用或者通过合理的调用。
c、同一变量在同一时刻只能存储一个值。
4、变量的分类:
a、成员变量|实例变量:
在类中方法外
b、局部变量
方法内部|语句块中

·数据类型:java是一种强类型的语言
1、基本数据类型
表示形式 表示名称 大小 范围(及精度)
byte 字节型 1字节 [-128,127]
short 短整型 2字节 [-32768,32767]
char 字符型 2字节 [0,65535]
Int 整型 4字节 [-21亿,21亿]
long 长整型 8字节 [-9E18,9E18]
float 单精度浮点型 4字节 [-3.403E38,3.404E38]精确到6-7位
double 双精度浮点型 8字节 [-1.78E308,1.78E308]精确到15位
boolean 布尔型 1位 true|false

其中的char类型:
a. java中char类型占2个字节、16位可以存放汉子,字母和数字占一个字节,一个字节8位,中文占2个字节,16位;

b. char类型赋值
char a=’a’; //任意单个字符,加单引号。
char a=’中’;//任意单个中文字,加单引号。
char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符

2、引用类型

接口
数组

3、应注意的点
a、如果要给比int类型大的long赋值,要在所赋值后面加上L。
b、给比double类型小的float赋值,要在所赋值后面加上F/f。
c、浮点型参与运算不够准确(不够精确)。
d、字符型char在进行运算的时候会转换成对应的十进制的数参与运算

·数据类型转换
首先:boolean不参与java中的数据类型转换

1、自动类型转换(由jvm自动完成):
小范围类型数据转为大范围类型数据 小–>大
在给byte、short、char类型赋值的时候,只要在其范围内的常量值*就可以成功赋值
byte,short,char在参与运算的时候会自动提升为int
在运算的时候有存在比int类型大的数据类型,类型会提升成为大的数据类型

2、强制类型转换:
大范围类型的数据到小范围类型的数据,需要发生强制类型转换,损失精度。
可进行强制转换,不代表经强转后的数据一定正确。有溢出(截断成一个完全不同的值),不够精准。

应当理清的点:
a、能进行自动类型转换,不代表不会损失精度
如:long可以自动转float;但是损失精度。
b、应当特别注意:在给byte、short、char类型赋值的时候,只要在其范围内的常量值就可以成功赋值。 如果不是字面常量值,而是变量承载的”常量”值的话要特别小心。

·转义字符
在java中有些字符有特殊的含义,在java中没有办法正常表示,所以可以使用转义字符表示这个字符。另外转义字符还有一些特定功能。

1、用以表示一些java中无法正常表示的字符:
System.out.println(“\””); //输出 ”
System.out.println(‘\’’); //输出 ‘
System.out.println(‘\’); //输出
2、一些特定功能

\t 制表符。 一个制表符代表8个空格,一个汉纸占2个空格,一个英文占1个空格。
看前面的内容是否是制表符位的整数倍,如果是,重新开启一个制表符位,如果不是,与前面的数据补全一整个制表符位。
\n 换行。 光标从这一行的行尾换到了下一行的行头。
\b 退格。 光标回删一格。
System.out.println(“欢迎你来上海尚学堂学习!\b”); //结果为:欢迎你来上海尚学堂学习
\r 光标回到这一行的行首。
System.out.println(“shsxt欢迎您!\r哈哈”); //输出为:哈哈t欢迎您!
\u

·java中数值型字面常量值的表示形式
整型:
二进制 0b|0B开头 零B
八进制 0开头 零
十进制 默认十进制
十六进制 0x|0X开头
浮点型:
1.0
.123 //0可以省略
科学计数法

·java中运算符
1、运算符的分类:
算数运算符:+,-,*,/,% ,++,-- ,
赋值运算符 =
扩展赋值运算符:+= -= *= /= %= (扩展运算符内部有自动强制转型的作用)
比较(关系)运算符 >,<,>=,<=,==,!=
逻辑运算符 & && | || ! ^
位运算符 & | ^ 异或 ~取反
条件(三目,三元)运算符 boolean表达式?值1:值2; 注意:值1和值2类型必须保持一致!!!

一元运算符|单目运算符:操作数只有一个的运算符 ++ –
二元运算符|双目运算符:操作数有两个的运算符 + - * / %
三元运算符|三目运算符|条件运算符

2、java中的乘幂处理
int a = 3^2; //java中不能这么处理, ^是异或符号。
double b = Math.pow(3,2);
Math类提供了很多科学和工程计算需要的方法和常数。

3、算数运算符+: 当左右的操作数有一个是字符串,最终两边会组合成一串字符串

4、++ – 的相关问题。 不管先自增还是后自增,都要自增!

5、赋值运算符:
基本赋值运算符:= java中唯一一个自右向左运算的符号

扩展赋值运算符:+= -= *= /= %=
缺点:不直观
优点:自动做强制类型转换
提高执行效率
推荐使用。

6、比较运算符|关系运算符
> < >= <=
结果是boolean类型的值。

== !=
可以做基本数据类型的比较,也可以做引用数据类型的比较。

7、逻辑运算符
& 与 两个操作数都是true,才是true。
| 或 两个操作数有一个为true就为true
! 非 boolean值取反
^ 异或 操作的boolean相同为false,不同为true

&& 短路与
|| 短路或

8、位运算符中的 >> <<

右移 左边的操作数转为二进制以后,向右移动第二个操作数个位数,保留分水岭左边的内容转为十进制 (右移 “除”) 8>>2 —> 8/2^2
<< 左移 左边的操作数转为二进制以后向左移动第二个操作数个位数,剩余空间补0,再转为十进制 (左移 “乘”) 3<<4 —>32222

9、运算符的优先级
单目算数位关系,逻辑三目后赋值
(自己写代码建议加括号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值