Java基础语法

简介: 学习一下Java的基础语法

[TOC]

一、关键字、保留字和标识符

1.关键字

在Java中已经被规定好的一些字符串,它们有自己的含义。

比如说: int char switch if ...

关键字中所有字母都是小写

2.保留字

在Java中暂时没有使用,但是后面的版本有可能会使用

比如说:goto const

3.标识符

自己命名的一个内容,一般对变量、类、方法进行命名的名字。对大小写特别敏感

int A;
int a;

上面的两个变量代表的是不同的意思

3.1 标识符的命名规则

  • 只能由大小写字母、数字、下划线、$符号组成
  • 不能以数字开头
  • 标识符不能使用关键字、保留字中的字符串

3.2 标识符的命名规范

  • 为变量、为方法名取名字:单个单词,全部都为小写;多单词,第一个单词小写,第二个单词首字母大写,例如:aaaBbbCcc
  • 为类、接口取名字:单个单词,首字母大写;多个单词,每个首字母都要大写,例如AaaBbb
  • 为包名取名字时,单个单词和多个单词全部小写
  • 为常量名取名字:单个单词全部大写,多个单词之间用下划线隔开,例如:AAA_BBB_CCC
  • 要见名知意,比如说有一个变量是存储年龄的,变量名就写为 age。

二、变量

Java语言是一种强类型语言,它对类型的标注比较严格。

1.数据类型

1.1 整形

类型名 关键词
整形 int
长整形 long
短整形 short
字节 byte

整形一般是整数,比如说:1,2,3,4这样的整数。

1.2 浮点型

类型名 关键词
单精度浮点型 float
双精度浮点型 double

浮点型一般是小数,比如说:1.2,3.6,9.7这样的小数。

1.3 字符型

类型名 关键词
字符型 char

字符型一般是拿来存放字符的内容,当然也可以存放整数,显示字符的本质是通过 ASCII 找到所对应的字符。

1.4 布尔类型

类型名 关键词
布尔类型 boolean

布尔类型中只有两个值,一个是 true ,另一个是 false

1.5 默认值

整形的常量一般默认为 int 类型

浮点型的常量一般默认为 double 类型

2.变量的创建

第一种创建变量的方法

类型名 变量名;

第二种创建变量的方法

类型名 变量名 =;

创建一个 int 类型的变量 age ,它的初始值为10

int age = 10;

3.变量的使用

其实就当作一个值来进行使用即可,例如输出变量中的值:

public static void main(String[] argv){
   
    int a = 10;
    System.out.println(a);
}

用于相加,例如两个变量,将这两个变量相加,得到的值赋值给另一个变量

public static void main(String[] argv){
   
    int a = 10, b = 20, c;
    c = a + b;
}

4.变量使用的注意点

变量必须要先声明才能进行使用

如果不声明,这个变量不存在。

变量声明在一个作用域内,那这个变量在这个作用域中可以使用,出了这个作用域就不能再使用了

5.隐式类型转换和强制类型转换

主要处理两个类型不同的变量或者数值进行计算的时候会出现类型不匹配问题。

5.1 隐式类型转换

本质上是:小类型转换为大的类型。

比如说下面的代码:

public static void main(String[] argv){
   
    int a = 10;
    float b = 8;
    System.out.println(a + b);
}

int 类型的a变量和 float 类型相加,int 类型的a变量会转换为 float 类型的a变量于 float 类型的b变量相加,得到的类型为 float 类型

类型大小的关系排行:

byte、char、short-->int-->long-->float-->double

5.2 强制类型转换

本质上:把一个大的类型转换为一个小的类型。

写法如下:

(转换后的类型)需要转换的变量名、类名;

比如说:将一个 float 类型的变量a强制转换为 int 类型,写法如下

float a = 8.5;
(int)a;

缺点:会导致精度损失

三、常量

不会改变的量

写法:

final 类型名 常量名 = 初始值;

创建一个int类型的常量 ACG

public static void main(String[] argv){
   
    final int ACG = 10;
}

四、权限修饰符

在Java中权限修饰符有四种
| 说明 | 修饰符 |
|--|--|
| 公共 | public |
| 私有的 | private |
| 保护的 | protected |
| 缺省 | 不写 |

在面向对象中会细讲这些内容。

五、转义字符

字符 说明
\n 换行符
\t 制表符
\r 回车
\b 退格
\f 换页
\" 双引号
\\ 反斜杠
\' 单引号
\ddd 8进制数所对应的一些字符
\uddd 十六进制所对应的一些字符

注意:这些是字符,需要加上 "" 或者 '' 才能输出。

六、运算符

1.算数运算符

符号 说明
+ 如果是两个数值之间代表的是相加 如果是字符之间,代表连接
- 两数相减
* 两数相乘
/ 两数相除
% 两数相除取出余数

2.逻辑运算符

a = true, b = false

符号 说明 举例
&& 逻辑与 a && b false
\ \ 逻辑或 a \ \ b true
! 逻辑非 !a false

在逻辑运算符中,在使用逻辑与&&的时候,如果左边为false,那么直接结果为false,不再看右边的结果。如果左边的结果为true,那还会继续看右边的结果。

在逻辑或||中,左边的结果如果为true,那直接结果为true,不再看右边的结果。如果左边的结果为false,那还会继续看右边的结果。

一定注意:关于逻辑运算符的两边一定要是 boolean 类型的内容比较,可以是逻辑表达式,但不能是数值。

3.位运算符

符号 说明
& 按位与
\ 按位或
~ 按位非

位运算符用于数值之间的运算,就比如说有一个 char 类型的变量a,它的值为5,当使用 ~ 后输出的结果为-6。

char a = 5;
System.out.println(~a);

这里需要好好分析一下,char类型占1个字节,也就是8位二进制位,5转换为二进制为:0000 0101,按位取反后变成:1111 1010,然后以十进制的形式输出时需要将二进制转换为十进制,而这里最高位为符号位,最高位为1,所以这个数是一个负数。

而负数的二进制转换为十进制需要转换为反码,结果转换得到的反码就为:1000 0110,再翻译成十进制就为-6。

4.前++、后++、前--、后--

本质上就是自增。

4.1 前++、前--

前++和前--是先进行自增或自减操作,然后再执行其它内容。

比如说下面的代码:

int a = 10;
System.out.println(++a + 6);

输出的值为17,因为a要先做自增操作,自增完之后,再去加上6。

4.2 后++、后--

后++和后--先执行其它内容,再自己自增1或者自减1

比如说下面的代码:

int a = 10;
System.out.println(a++ + 6);

输出的结果为16,因为a先和6相加,然后再自增操作。

5.赋值运算符

符号 说明
+= a+=5 => a=a+5
-= a-=5 => a=a-5
*= a*=5 => a=a*5
/= a/=5 => a=a/5
%= a%=5 => a=a%5

6.比较运算符

符号 说明
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于

注意:在编程中 = 是赋值符号, == 是等于符号

目录
相关文章
|
12天前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
18 6
|
29天前
|
存储 Java 容器
Java 基础语法
Java是一种面向对象的编程语言,其基础语法包括类和对象、方法、变量、控制流语句、继承和多态以及异常处理。代码需写在类中,`main()`方法是程序入口,变量用于存储数据,控制流语句控制程序执行流程,继承和多态增强代码灵活性,异常处理保证程序稳定性。掌握这些知识可帮助您编写简单的Java程序。
|
2月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
21 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
2月前
|
存储 前端开发 JavaScript
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
【8月更文挑战第8天】10min快速入门java的基础语法
33 2
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
|
1月前
|
安全 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法的深度融合
在Java的演进历程中,Lambda表达式无疑是Java 8引入的一项革命性特性,它极大地简化了函数式编程在Java中的应用,使得代码更加简洁、易于阅读和维护。而这一切的背后,JVM的invokedynamic指令功不可没。本文将深入探讨invokedynamic指令的工作原理及其与Java Lambda语法的紧密联系,带您领略这一技术背后的奥秘。
19 1
|
2月前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
93 0
【aspose-words】Aspose.Words for Java模板语法详细剖析
|
2月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
50 18
|
2月前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
37 16
|
2月前
|
存储 Java 编译器
Java 基础语法-方法
Java 基础语法-方法
36 12
|
2月前
|
Java API
Java语法Java语法
【8月更文挑战第12天】Java语法
34 3
下一篇
无影云桌面