Java学习笔记1

一、JDK安装配置及运行原理

1.JDK全称Java开发工具包,JRE全称Java运行环境,只运行Java程序无需安装JDK,只安装JRE即可。

2.使用JDK需要配置环境变量:JAVA_HOME:JDK根路径。Path:Java.exe可执行文件所在路径。

3.程序运行过程:源码---javac---字节码---Java---系统指令。

4.javac ,编译。 将.java文件编译成.class文件,.class文件又叫做字节码文件。

5.Java   类名,运行指定的类,JVM将字节码文件解析为系统指令。

6.java跨平台性:JVM将字节码内容解析成系统指令和系统交互,在不同的系统上安装不同版本的虚拟机,就可以执行字节码文件。

二、规范

1.包名全部小写如com.easy,类名首字母要大写(行业规范)。

2.注释

/** 文档注释 */

//单行注释 只能注释单行内容

/*

多行注释

*/

3.类的结构为 class 类名 {},一个Java文件只能有一个public类(外部类,公共类),这个public类必须和文件同名。

4.关键字是编程语言内置的有特殊含义的单词。Java中所有关键字都是小写字母组成。

5.标识符(变量名,类名,方法名,常量名)

标识符只能有字母,数字,$,_组成,不能是关键字,首字符不能是数字(中文语法上是通过的,但不允许)。

标识符尽量使用驼峰命名法(单词首字母大写),所有标识符尽量见名知意,标识符可以缩写,如果影响见名知意,就不要缩写。

6.变量是在程序运行阶段可能发生变化的量,常量是在程序运行阶段不可发生变化的量用final修饰。声明:类型 变量名。初始化:给变量第一次赋值。未初始化的变量不可使用。同一作用域下变量不可重复声明。

三、数据类型(基本数据类型,引用类型)

       String在Java中不是基本数据类型是引用类型。

1.八大基本数据类型

整数:byte、short、int、long

浮点:float、double

字符:char

布尔:boolean

2.基本数据类型取值范围(补码:正数补码与原码相同,负数补码为反码数值位加1)

计算机内部采用二进制补码形式存储数据,包括整数和小数。补码的使用解决了原码中存在的+0与-0问题,并且简化了加减法的运算,因为减法可以通过加上一个数的补码来实现。二进制负数计算它的十进制需要计算它的补码。 

反码是原码除符号位以外按位取反获得。

数据类型字节二进制位取值范围默认值
整型
byte18-2^7~2^7-1-128~1270
short216-2^15~2^15-10
int432-2^31~2^31-1(默认)0
long864-2^63~2^63-10

                                                       浮点型

float40.0f
double8(默认)0.0
                                                        字符型
char20-65535
                                                        布尔型
Boolean1或4false

boolean b=true; //1个字节

boolean[] b_arr={true,false}; //4个字节

四、类型转换,进制转换

1.类型转换(隐式转换,强制类型转换)

隐式转换系统自动完成,取值范围小的类型的值可自动转化为取值范围大的类型的值。

强制类型转换,可将范围大的类型的值转为范围小的类型的值,但是需要注意,如果截断的二进制位为有效位则会造成数据错误,如


int inumInt=128;

byte numByte=(byte) numInt;

System.out.println(numByte);

程序运行结果为-128。

00000000 00000000 00000000 10000000(int类型有32个比特位,此时符号位为0,正数2^7)

↑符号位

10000000(转换为byte类型,只能在8个比特位下保存此数据,截断,此时符号位为1,负数)

↑符号位

11111111(反码:除符号位外,其他按位取反)

↑符号位

1 10000000(负数的补码:符号位不变,反码的数值位加1,结果为-128)

↑符号位

2.布尔类型不能和其他类型转换

3.进制转换

二进制(binary): 0,1 ,满2进1.以0b或0B开头。
十进制(decimal): 0-9 ,满10进1。
八进制(octal): 0-7 ,满8进1. 以数字0开头表示。
十六进制(hex): 0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写

五、获取输入

1.

Scanner scan=new Scanner(System.in);

创建一个扫描器对象

System.in 输入流 对象

scan.close();流使用完记得关闭。

六、运算符

注意:&&优先级高于||

1.算术运算符 + - * / %

整数和整数运算得到的结果是整数(int)除非有long参与得到结果为long。

整数和浮点数运算得到结果为浮点数。

取余%的结果正负和被除数正负一样,与除数无关。/与除数有关。

2.自增自减运算符属于算术运算符   ++ --

b=a++;//先将a的值赋值给表达式,再将a+1

b=++a;//先将a+1,再将a的值赋值给表达式

3.比较运算符(关系运算符) > < >= <= == !=

==在基本数据类型中比较的是值是否一样。

浮点型是有精度的,不准确,System.out.println(12.5==12.5f); 结果为false。

4.逻辑运算符

&&逻辑与运算符    ||逻辑或运算符    !逻辑非运算符

        A&&B   A与B都为true结果才为true

        A||B      A或B有一个为true结果就为true

短路现象:多个表达式运算,前面的表达式已经可以明确整个表达式的结果, 后面的不需要再运行了

int a=0;
int b=0;
result= a++<0 && b++>0;
System.out.println(a+"----"+b);
a=0;
b=0;
result= a++>=0 || b++>0;
System.out.println(a+"----"+b);

结果为

1----0
1----0

b的值没有改变,说明b没有参与运算,这就是短路现象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值