JAVASE 小白学习笔记(2)基础语法

1.标识符

java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。

1.1 标识符的命名规则

标识符的命名规则(这是规定好的,不这样写语法上编译不通过)
由26个英文字母大小写,0-9,_或者$组成
数字不能作为开头
java中严格控制大小写,长度上没有限制
标识符不能包含空格
不可以使用保留字与关键字,但可以包含保留字与关键字

1.2 标识符的命名规范

标识符在命名时,为了提高程序的阅读性,要尽量有意义,做到见名知意的效果。

标识符的命名规范
包名:组成时所有的字母都小写:aaabbbccc
变量名与方法名: 多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:aaaBbbCcc
常量名:所有字母都大写,多单词时每个单词用下划线进行连接:AAA_BBB_CCC
类名与接口名:多单词组成时,所有单词的首字母大写:AaaBbbCcc

2.关键字、保留字与特殊值

  • 关键字:指的是被java语言赋予特定含义的单词
  • 关键字的特点:组成关键字的字母全部小写

在这里插入图片描述

在这里插入图片描述

  • 保留字:在java中注册但没有使用,goto、const
  • 特殊值:null、true、false

3.变量

  • 变量的作用:用于数据的保存
  • 变量的本质:开辟了内存中的一块存储区域
  • 变量的三要素:数据类型、变量名以及变量值
  • 声明变量:数据类型 变量名
  • 变量赋值:变量名 = 变量值
  • 注意:声明变量和变量的赋值可以同时进行,也可以分开进行。但是在变量被问之前,必须要有值。例如:数据类型 变量名 = 变量初始值
  • 变量的使用:通过变量名来进行访问这块存储区域
    要求:1)变量必须先声明再使用
    2)变量再使用之前必须进行赋值
    3)变量要有定义域

在这里插入图片描述

4.数据类型

java数据类型分为基本数据类型以及引用数据类型。
具体分类如下图所示:
在这里插入图片描述

4.1 基本数据类型的介绍

基本数据类型有8种:

  • 整型:
整型数据类型 字节数 范围
byte 1(8bit) -128 ~ 127
short 2(16bit) -2^15 ~ 2^15 - 1
int 4(32bit) -2^31 ~ 2^31 - 1
long 8(64bit) -2^63 ~ 2^63 - 1
  • 浮点型:
浮点型 字节数 范围
float 4(32bit) -3.40310^38 ~ 3.40310^38
double 8(64bit) -1.79810^308 ~ 1.79810^308
  • 字符型:

    字符型 字节数
    char 2(16bit)
  • 布尔型:

布尔型 字节数
boolean(只有两个值true和false) 1(8bit)

整数默认的类型为int类型,浮点数默认的类型为double型

注意:

  • Java的整型常量默认为 int 型,如果想要表示某个整数值是long型时,需要在值后面加L或l。
  • java程序中变量常声明为int型,除非不足以表示大数,才使用long。
  • Java 的浮点型常量默认为double型,声明float型常量,须后加F或者f。
  • float可以保证十进制科学计数法小数点后6位有效精度和第7位的部分精度。
  • double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度。
  • 字符型的值必须使用单引号,只能而且必须存储单个字符,不能是空单引号。例如:’a’、’\n’、’\u5c1a’。
  • 字符型使用Unicode编码(ASCII,特殊字符,中文、日文、韩文…)
  • String是引用数据类型,String的常量值必须使用双引号。单独的双引号也是一个字符串值 。

在这里插入图片描述

在这里插入图片描述

4.2 变量的运算之数据类型之间的转换

  • 1.自动类型转换(自动升级):小容量转为大容量(系统自动完成)byte,short,char --> int -->long -->float -->double

  • 注意:byte,short,char三者之间不进行运算,若运算都将自动升级为int再做运算

  • boolean不与其他任意数据类型转换

  • 任何数据类型与String之间使用“+”运算符都将自动“连接”成String类型

  • 2.强制类型转换:大容量转小容量,需要使用强制符(),结果可能损失精度或溢出

基本类型的转换:
(1)自动类型转换byte,short,char --> int -->long --> float --> double

说明:
byte,short,char之间是互不转换的,包括byte+byte等运算也会变成int
boolean和谁都不转
String类型的数据与任意类型的数据“+”拼接后结果都是String字符串

(2)ASCII码表常用的值

ASCII码
小写字母a 97
小写字母b 98
大写字母A 65
大写字母B 66
数字0 48
数字1 49

(3)强制类型转换
double --> float --> long -->int -->byte,short,char需要强制类型转换符()
注意:强制类型转换可能损失精度或溢出

在这里插入图片描述

5.进制

5.1 进制的分类

计算机中任何的计算和存储都是以二进码方式来实现的。
位(bit):是计算机中最小的存储单元
字节(byte):计算机中最基本的存储单元
1byte=8bits
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1T=1024GB

对于整数,有四种表示方式:

  • 二进制:0与1,满2进1,以0b或0B开头(字母B大小写均可)
  • 十进制:0-9,满十进1
  • 八进制:0-7,满8进1,八进制以0开头
  • 十六进制:0-9以及A-F,满16进1,十六进制以0x来表示(字母x大小写均可)

如:0x3f20(十六进制) 0733(八进制)

在这里插入图片描述

5.2进制之间的转换

在实际应用中通常要涉及进制之间的转换,下面对进制的转化作以介绍。

5.2.1 二进制与十进制之间的转换

  • 二进制转换成十进制:位权法,乘以2的幂数
  • 十进制转换成二进制:除以2取余数

在这里插入图片描述

5.2.2 二进制 八进制与十六进制转换

  • 二进制转换成八进制:3位1组,算成这3位对应的十进制的值,然后挨个连接上
  • 二进制转换成十六进制:4位1组,算出这4位对应的十进制的值,然后挨个连接上即可

在这里插入图片描述

八进制转二进制:把每个位置上的数字当做10进制的数,转成三位的二进制,然后挨个拼接上

十六进制转二进制:把每个位置上的数字当做10进制的数,转成四位的二进制,然后挨个拼接上

十进制与八进制或十进制与十六进制之间的转换,建议通过二进制过渡一下在这里插入图片描述

注意:十进制与八进制或十进制与十六进制之间的转换,建议通过二进制过渡一下

在这里插入图片描述

6.原码、反码以及补码

所有数字在计算机底层都以二进制形式存在。
一个数在计算机的表示形式,叫做这个数的机器数。机器数是带有符号的,在计算机用一个数的最高位存放符号,整数为0,负数为1。

Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。

因为机器数是带符号的,因此机器数与一个数的“二进制值”还是有区别的。计算机以补码的形式保存所有的整数。

正数的原码、反码、补码都相同
负数的反码是除过符号位外,其余位取反
负数的补码是其反码加1

1、原码
即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

在这里插入图片描述
2、反码
正数的反码是其本身负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
在这里插入图片描述
3、补码
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1 (即在反码的基础上+1)

在这里插入图片描述

7.运算符

运算符:
1、算术运算符
2、赋值运算符
3、比较运算符(关系运算符)
4、逻辑运算符
5、条件运算符
6、位运算符表达式:操作数+运算符

7.1 算术运算符

(1)加、减、乘、除:+、-、*、/除:当两个整数相除时,只保留整数部分.
(2)取模(求余数):%取模:被模数%模数,当模数有负号时,会被忽略
(3)+:作为单目运算时表示正数 与其他基本数据类型计算时当做加法用 当与字符串String类型进行运算时表示连接,计算结果是字符串String类型
(4)-:作为单目运算符时表示负数 与其他基本数据类型计算时当做减法用
(5)++,-- 自增和自减
++在前,变量先自增,然后参与其他运算,在后,变量的值先参与其他运算,然后变量本身在自增 ; --类似

在这里插入图片描述

在这里插入图片描述

练习:算数运算符的自加与自减
在这里插入图片描述

7.2 逻辑运算符

逻辑运算符:结果是布尔型,而且操作数也必须是布尔型

  • 与,并且 & 表示&符号两边的表达式/变量的值都必须是true,整个逻辑表达式的结果才为true

  • 或 | 表示|符号两边的表达式/变量的值只要有一个true,整个逻辑表达式的结果就为true

  • 非 ! 表示逻辑值取反

  • 短路与 && 表示&&符号两边的表达式/变量的值都必须是true,整个逻辑表达式的结果才为true 但是,如果左边的表达式已经是false时,右边的就不再计算

  • 短路或 || 表示||符号两边的表达式/变量的值只要有一个true,整个逻辑表达式的结果就为true 但是,如果左边的表达式已经为true时,右边的就不再计算

  • 异或运算 ^ 求的就是个性,不同,两个操作数不同时,结果为真,如果相同就为假

在这里插入图片描述

7.3 赋值运算符

  • 基本的赋值运算符:=

  • 扩展的赋值运算符:+= -= *= /= %= &= …

  • 扩展的赋值运算符的说明:中间不能有空格,而且结果隐含数据类型转换

  • 基本的赋值运算符:=
    Java中赋值,永远是把等号=右边的赋值给左边的变量。右边如果是常量值,那么就把常量的值直接赋值给左边的变量;右边如果是变量,那么就把变量的值直接赋值给左边的变量;右边如果是表达式,那么就把表达式的运算结果直接赋值给左边的变量;

  • 扩展的赋值运算符:+= -= *= /= %= &= …

  • +=等,中间是不能有空格的,即不能写成 + =

  • 如果结果的类型与左边的变量不在一样时,隐含强制类型转换;

在这里插入图片描述

7.4 关系,比较运算符

  • 关系运算符,比较运算符:运算的结果只有true或false的布尔值
  • 1)> < >= <= !=
  • 2)== 判断是否相等,一定要与=赋值运算符区分开
  • 3)instanceof,引用数据类型的关系运算符后面再讲

比较运算符的表达式的结果只有两种:true或false,即结果是一个boolean值

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41537102/article/details/109472298