JAVA基础语法
发布日期:2021-06-27 12:55:39 浏览次数:29 分类:技术文章

本文共 2901 字,大约阅读时间需要 9 分钟。

JAVA基础语法

一、二进制

  1. 逢二进一,只有0、1两个值(计算机数据保存方式)

  2. 计算机中信息的存储单位

  • 位(Bit):表示一个二进制数码 0 或 1,是计算机存储处理信息的最基本的单位。

  • 字节(Byte):一个字节由 8 个位组成。它表示作为一个完整处理单位的 8 个二进制数码。

1.补码

计算机内的二进制数值是以补码形式表示的。

规则:

  • 一个正数的补码和其原码的形式是相同的。
  • 负数的补码是:将该数的绝对值的二进制形式,按位取反再加1
十进制 二进制
10 00000000 00000000 00000000 00001010
-10 11111111 11111111 11111111 11110110

使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。

两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

2.二进制与十进制转换

  1. 二进制数转换成十进制数

在这里插入图片描述

  1. 十进制转换成二进制
  • 整数部分:除 2 取余,逆序排列法
  • 小数部分:乘 2 取整,顺序排列法

3.十六进制与八进制

  • 十六进制:基数为十六,逢十六进一,用 abcdef 表示从 0-9 之上的值。

    • Java 中十六进制数据要以 0x 或 0X 开头。如:0x23D

    • 十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可。

  • 十六进制:基数为8,Java 中八进制数据要以 0 开头。如:0123

    • 八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可

二、变量

变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。

  1. 分类:
  • 基本数据类型变量
  • 引用数据类型变量
  1. 按被声明的位置划分:
  • 局部变量:方法或语句块内部定义的变量
  • 成员变量:方法外部、类的内部定义的变量

类的外部不能声明变量

1.数据类型

在这里插入图片描述

类型 占用内存 值的范围(含边界值) 默认值
整数型(int) `4字节 -2147483648 ~ 2147483647 0
短整数型(short) 2字节 -32768 ~ 32767 0
长整数型(long) 8字节 -9223372036854 775808L ~ 9 223 372 036 85477507L 0
字节型(byte) 1字节 -128 ~ 127 0
浮点型(float) 4字节 -3.40292347E+38 ~ 3.40292347E+38 0.0f
双精度型(double) 8字节 -1.79769313486231570E+308 ~1.79769313486231570E+308 0.0d
布尔型(boolean) 1字节 true \ false false
字符型(char) 2字节 ‘ \u0000 - u\ffff ’ 0

float变量 :float类型变量在定义时需要注意,直接写出的浮点数字默认是double,需要强制转换

float f1 = 10.1; //出错,因为10.1默认为double类型,因此需要强制转换//解决方法:在浮点数子后面加上f,来表示写出的数字类型是floatfloat f1 = 10.1f;

long变量 :直接写出的整型数字,默认类型是int,当值过大时会提示出错

long l1 = 2200000000;//出错,直接写出的整型数字,默认类型是int//解决方法:在整型数字后面加上l,来表示写出的数字是long类型的long l1 = 2200000000l;

2.标识符

Java 对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。

规则:

  • 由字母、数字、下划线(_)和美元符号($)组成
  • 不能以数字开头
  • 区分大小
  • 长度无限制。
  • 不能是 Java 中的保留关键字

识符命名习惯:见名知意。

合法标识符:HelloWord、username2、user_name、_userName、$abc_12

非法标识符:2UserName、user#Name、Hello World、class

3.类型转换

boolean 类型不能转换成任何其它数据类型

**自动类型转换:**容量小的类型自动转换成容量大的数据类型

  • byte,short,int -> float ->long ->double
  • byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型

**强制类型转换:**容量大的类型转换成容量小的数据类型时,要加上强制转换符

有可能造成精度降低或数据溢出

ascii码表


三、方法

方法用于封装一段特定的逻辑功能。方法的主要要素有:权限修饰符、方法名、参数列表和返回值

1.格式

权限修饰符 返回值类型声明 方法名称(参数列表){
方法中封装的逻辑功能; return 返回值;}

2.权限修饰符

在这里插入图片描述

3.返回值

方法调用结束后返回一个数据,称之为返回值。

方法在声明时必须指定返回值的类型。

通过 return 语句返回,return 语句的作用在于结束方法且将数据返回。

如果方法没有返回值(即方法不需要返回数据),需将返回值类型声明为 void

4.参数列表

方法的参数列表:在调用时传递给方法,需要被方法处理的数据。

在方法定义时,需要声明该方法所需要的参数变量。

在方法调用时,会将实际参数值传递给方法的参数变量。必须保证传递参数的类型和个数符合方法的声明。


四、运算符

1.算数运算符

在这里插入图片描述

++
如果是变量前缀:先对此变量加 1,再执行其他的操作

如果是变量后缀:先执行当前语句的其他操作,再对此变量加 1

- -

如果是变量前缀:先对此变量减 1,再执行其他的操作

如果是变量后缀:先执行当前语句的其他操作,再对此变量减 1

2.关系运算符

关系运算符作用是比较两边的操作数,结果总是 boolean 型的。

在这里插入图片描述

3.赋值运算符

赋值运算符作用是将一个值赋给一个变量,运算顺序从右到左

在这里插入图片描述

4.逻辑运算符

逻辑运算符用于对 boolean型结果的表达式进行运算,运算结果总是 boolean型

在这里插入图片描述

5.字符串连接运算符

String s=“He” + “llo”; 结果"Hello"

"+"除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串

如:String s=“x” + 123; 结果"x123"

6.三目运算符

X ? Y : Z

X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式Z的值

例:

int score = 75;String type = score >=60 ? "及格" : "不及格

7.转义字符

转义字符 意义 ASCII码值(十进制)
\n 换行,将当前位置移到下一行开头 010
\r 回车 ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个TAB位置) 009
\ 代表一个反斜线字符’’’ 092
; 代表一个单引号(撇号)字符 039
" 代表一个双引号字符 034

转载地址:https://blog.csdn.net/weixin_43454088/article/details/115493054 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:流程控制
下一篇:JAVA基础特征

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月30日 06时37分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

带你玩转属于自己的spring-boot-starter系列(三) 2019-04-27
基于SnowFlake算法如何让分库分表中不同的ID落在同一个库的算法的实现 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之分库解决方案(二) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之分表解决方案(一) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之关联查询解决方案(三) 2021-06-30
基于springboot的ShardingSphere5.X的分库分表的解决方案之基于seata的分布式事务的解决方案(十五) 2021-06-30
Linux文件管理参考 2021-06-30
FTP文件管理项目(本地云)项目日报(一) 2021-06-30
FTP文件管理项目(本地云)项目日报(二) 2021-06-30
FTP文件管理项目(本地云)项目日报(三) 2021-06-30
FTP文件管理项目(本地云)项目日报(四) 2021-06-30
【C++】勉强能看的线程池详解 2021-06-30
FTP文件管理项目(本地云)项目日报(五) 2021-06-30
FTP文件管理项目(本地云)项目日报(关于不定长包的测试) 2021-06-30
FTP文件管理项目(本地云)项目日报(六) 2021-06-30
FTP文件管理项目(本地云)项目日报(七) 2021-06-30
FTP文件管理项目(本地云)项目日报(八) 2021-06-30
【Linux】血泪教训 -- 动态链接库配置方法 2021-06-30
FTP文件管理项目(本地云)项目日报(九) 2021-06-30
以练代学设计模式 -- FTP文件管理项目 2021-06-30