JavaSE:基础入门(一)

1、关键字

被java赋予特定含义的单词,特点:全部都是小写
以下是java的关键字列表,先了解下即可,其中void就是关键字,而 Void就不是关键字,只是一个占位符的类

访问控制
private    protected    public

类,方法和变量修饰符
abstract    class    extends    final    implements    interface    native    new
static    strictfp    synchronized    transient    volatile
    
程序控制
break    continue    return    do    while    if    else    for    instanceof    switch
case    default
    
异常处理
try    cathc    throw    throws

包相关
import    package
    
基本类型
boolean    byte    char    double    float    int    long    short    null    true    false

变量引用
super    this    void
    
保留字
goto    const   

2、标识符

1)就是给类,接口,方法,变量等起名字的字符序列
2)组成规则:

A:英文大小写字母
B:数字
C:$和_

注意:
不能以数字开头;不能是java中的关键字;严格区分大小写

3)常见的命名规则 (根据业务来取名)
包全部小写:多级包-小写,并用.隔开。如:cn.rzdata
类或者接口:首字母大写。如HelloWorld
方法或者变量:首字母小写,从第二个单词开始首字母大写。如getMax()
常量:全部大写,且用下划线隔开。如STUDENT_AGE

3、变量

在程序的执行过程中,其值在某个范围内可以发生改变的量
变量的定义格式:

数据类型 变量名 = 初始化值;
数据类型 变量名;
变量名 = 初始化值;

4、进制转换

1)其他进制到十进制

系数:就是每一个位上的数值
基数:x进制的基数就是x
权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
结果:系数*基数^权次幂之和。

2)十进制到其他进制

除基取余,直到商为0,余数反转。

5、数据类型

Java是一种强类型语言,针对每种数据都提供了对应的数据类型。
分类:

  • 基本数据类型:4类8种
  • 引用数据类型:类,接口,数组
    在JVM 中,基本数据类型存的是什么?值 (类似于抽屉)
    引用数据类型存的又是什么?地址 (这就是抽屉的钥匙)

基本数据类型

数值			占用字节数
byte			1
short			2
int 			4
long			8

浮点数
float			4
double			8

字符
char			2

布尔
boolean			1

注意:
数值默认是int类型,浮点数默认是double
长整数要加L或者l
单精度的浮点数要加F或者f

6、数据类型转换

默认转换,从小到大。
byte,short,char – int – long – float – double
byte,short,char之间不相互转换,直接转成int类型参与运算
boolean类型不参与转换

强制转换
可能会有精度的损失
格式:目标数据类型 变量名 = (目标数据类型) (被转换的数据);

生产上常用的是:

Object是所有类的父类,也就是我也不知道返回值是多少,当然生产上我们一般是知道什么数据类型的

调用一个方法,返回值Object....User    
  Object obj- 对象.方法(...);
  User   user  - (User)obj;    

例如:

float f1 = 12.345f;
float f2 = (float)12.345;
(两种没区别)

byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;(有问题,byte之间做运算,默认转换成int)
byte b4 = 3 + 4;(赋值的是常量,在接受范围内)

byte b = (byte)130;(将int类型转换成byte类型,但130超出了byte范围,所以结果等于-126,原理根据原反补计算

字符参与运算,查找ASCII里面的值
'a'		97
'A'		65
'0'		48

字符串参与运算
System.out.println("hello"+'a'+1);  //helloa1
System.out.println('a'+1+"hello");  //98hello
System.out.println("5+5="+5+5);     //5+5=55 
System.out.println(5+5+"=5+5");     //10=5+5 

7、原反补

在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。
1.原码
就是二进制定点表示法,即最高位为(符号位),“0”表示正,“1”表示负,其余位(数值为)表示数值的大小。
2.反码
正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
3.补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。

byte b=(byte)130;
System.out.println(b);//-126

原理:
获取130这个数据的二进制。
00000000 00000000 00000000 10000010
这是130的原码,也是反码,还是补码。

做截取操作,截成byte类型的了。
10000010 
这个结果是补码。

已知补码求原码。
		符号位		数值位
补码:	1			0000010	
反码:	1			0000001	
原码:	1			1111110

8、常量

常量在程序执行的过程中,其值不发生改变
字面值常量:如“hello”;12;12.13;true;false;null
自定义常量:final修饰的

针对整数常量提供了四种表现形式
二进制 由0,1组成。以0b开头。
八进制 由0,1,…7组成。以0开头。
十进制 由0,1,…9组成。整数默认是十进制。
十六进制 由0,1,…9,a,b,c,d,e,f(大小写均可)组成。以0x开头。

9、注释

注释除了解释说明程序,提高了代码的阅读性,还可以帮助我们调试程序

单行注释	//
多行注释	/**/
文档注释 /** */

10、运算符

10.1算术运算符

+(正号,拼接),-,*,/,++,--,%(取余)
++,--(只能放在变量前后,常量不行,因为常量特性是不可变)
如果是单独使用如:x++,++x  结果一样
参与操作:int a=10;
		int b=a++;先赋值,再自增
		int b=++a;先自增,再赋值

例:
int x=3;
int y=4;
System.out.println(x*1.0/y); //得到小数位的做法,1.0是浮点数所以能得到小数位  0.75
		
int a=3;
int b=4;
int c=a++;
int d=--b;	
System.out.println("a:"+a);//4 a++所以4
System.out.println("b:"+b);//3 --b所以3
System.out.println("c:"+c);//3 a++在后,先赋值,所以c=3
System.out.println("d:"+d);//3 --b在前,先运算,所以d=3

10.2、赋值运算符

=,+=,-=,*=,/=,%=
=是基本的赋值运算

short s=1;
s += 1;这里隐含了自动强制转换,相当于s =(short)(s+1)

10.3、比较运算符

==,!=,<,>,<=,>=;返回的结果是boolean类型

int x=1;
int y=2;
int z=1;
System.out.println(x==y);//false
System.out.println(x==z);//true

其中> < >= <= 只支持数值类型

10.4、逻辑运算符

&,|,^,!,&&,||; 用来连接boolean类型的
且:必须都为为真,结果为真
或:只要有一个为真,结果为真
异或:有两个不一样的,即一真一假,结果才为真

&:有false则false
|:有true则true
^(异或):相同则false,不同则true。
!(非):非true则false,非false则true; 特点:偶数个不改变本身。	
					
&&:结果和&是一样的,只不过有短路效果。左边是false,右边不执行。
||:结果和|是一样的,同理。左边是true,右边不执行。
(开发中一般用这个,运算更快)

10.5、位运算符

了解即可

&,|,^,~
<<,>>,>>>
注意:	要做位运算,首先要把数据转换为二进制。

int x = 10;
int y = 20;
//^的特点:一个数据对另一个数据位异或两次,该数本身不变。
System.out.println(x ^ y ^ y); //10
System.out.println(x ^ y ^ x); //20,这里相当于x与y的交换
System.out.println(y ^ x ^ y); //10,这里相当于y与x的交换

10.6、三目运算符

格式:比较表达式?表达式1:表达式2;
执行流程:
首先计算比较表达式的值,看是true还是false。
如果是true,表达式1就是结果。
如果是false,表达式2就是结果。

int x=100;
int y=200;
int z=x>y?x:y;
System.out.println(z); //200
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值