IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java的基础语法 -> 正文阅读

[Java知识库]java的基础语法

1、标识符

字母、数字、下划线、美元符号的任意组合

注:

  • ? 不能以数字开始
  • ? 不能是java的关键字
  • ? java区分大小写

作用: 赋给类、方法或变量等取名字

书写规范:

  • ? 类名首字母大写以及遵循驼峰原则
  • ? 常量大写字母和下划线
  • ? 其余都要首字母小写和驼峰原则(变量、方法)

2、关键字

? 编译器有提示

? 例: for、if、publice、static等

3、变量和常量

3.1 变量

? 在进行计算时,用来存放数据、接收数据

? 实际上就是一个带名字的存储空间

3.1.1 变量的语法规则:
数据类型 + 变量名  =  变量值  {作用域}
3.1.2 数据类型:

? java是一种强数据类型的语言,所以每个变量必须有明确的数据类型

3.1.3 作用域:

? 分为全局变量 和 局部变量

? 全局变量: 直接定义在类体中,在当前类中的任意位置都可以直接使用

? 局部变量: 定义在局部代码中(方法中、流程控制语句中)——只能在当前代码段中生效

? 局部变量使用的注意事项:

? (1)局部变量如果没有初始化赋值,不能用于计算

? (2)在同一作用域中,不能出现重复的同名变量

3.2 常量

? 不可改变的量,一般我们使用常量来定义一些状态值

? 需要在变量前加final关键字,来声明一个常量

final int STATE_NORMAL = 0;

4、java中的八大基本数据类型

4.1 复合数据类型

? 数组、枚举、自定义类型

4.2 基本数据类型

? 整数、小数、布尔值、字符

4.2.1 整型

? int(常用)、byte、short、long(L)

? 注: 用long的时候,建议在数值数据后加L

4.2.2 小数(浮点数)

? float、double(常用)

? 区别: 在于精度不同——保留的小数位不同

? 注: (1)float在使用时,数值后面要加f

? (2) 浮点数不能用于需要精确计算的场合(比如:涉及金钱计算)

在这里插入图片描述

4.2.3 布尔值

? true/flase

4.2.4 字符类型

? char 指单个字符,如’A’ ‘B’ ‘1’ ‘您’

? 注: 实际开发过程中使用最多的是字符串

? String的底层是由char编写的

String str = "xialu123";
char str1 = "A";
char str2 = 97;  // a	

? 注: 单个字符用单引号,字符串用双引号 char c = ‘A’ ; String str1 = “abcd”;

5、运算符

5.1 常见运算符及其使用

? 注:

? (1)java中,计算表达式的结果需要变量来接收,否则编译报错

? (2)两个整数相除,不管结果如何,得到的还是一个整数(结果不会四舍五入)

5.1.1 一元运算符:

? ++ –

? 前++: 先自加,后将值赋给变量

? 后++: 先将值赋给变量,后自加

? 前 - -: 先自减,后将值赋给变量

? 后 - -: 先将值赋给变量,后自减

5.1.2 赋值运算符
int x,y;
x = y = 10;
5.1.3 复合赋值运算符

? += -= /= *= %=

5.1.4 关系运算符

? > < = >= <= ==

结果为boolean类型(true/flase)

注: 字符比较要用equals()方法

public static void main(String[] args) {
    String password_db = "123456";
    Scanner scanner = new Scanner(System.in);
    String password = scanner.nextLine();
    if (password.equals(password_db)) {
        System.out.println("密码正确");
    } else {
        System.out.println("密码错误");
    }
    scanner.close();
}

拓展: scanner工具类 nextXXX() 从键盘获取各种类型数据

? 例:nextInt() 获取整型

? nextLine() 获取字符串

5.1.5 逻辑运算符

? & | && || !

? &:与
|:或 ——这&和|,两边都要运算

? &&:逻辑与
||:逻辑或 ——这&&,左边不成立,右边就不用算了;这||,左边为true,右边就不用算了

这& |与&& ||区别是运算效率问题

5.1.6 三目运算符

格式:布尔运算 ?值1 :值2

//例
int result = a > b ? a : b;
int result = a % b == 0 ? a/b : a*b;

5.2 运算符的优先级问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存失败,源站可能有防盗链机制,建议将图片保存下来直接上传下上传(iEKk97BWExps-1638975005858)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211208084110560.png)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211208084110560.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ags1F4og-1638975326759)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211208084110560.png)]

注: &&(与) 比 ||(或) 优先级高

5.3数据类型转换

5.3.1 自动转换(小—>大)

? 又称隐式转换

注:

  1. 不用书写代码,有系统自动完成的类型转换 —— 但是byte,short,char这三者,不管怎么组合运算得到的都是int类型

  2. String类型可与任何数据类型进行+运算,只不过此时其他类型都先转成字符串,然后进行拼接操作

    String  str=28;    
    int  x=28 ;    
    String  s=str+x; // s=2828,其中x会先被转成字符28
    
  3. 布尔类型和其他类型不能相互转换

  4. 复合赋值运算符也会进行自动转换

    //例1
    short  s=10;
    s=s+1// 此处会报编译错误,因为 s+1是int类型
    //例2
    short  s1=10//编译通过, 此时  s1+1是得到了一个int,但是此时为复合赋值运算,java
    //编译器会多做一步,将得到的int转成  short
    s1+=1
5.3.2 强制转换(大—>小)

? 又称显示转换

格式: int x=10; short y = (short) x

注:不是什么时候都可以实现任意转换的(使用不当,可能会出现一些问题)

? 1、转换前的数据类型与转换后的数据类型兼容

String str = "1";
int x = (int)str; //编译报错

? 2、浮点数强转整型会造成精度丢失

double d = 12.4;
int i = (int)d; //i = 12

? 3、大—>小,可能会造成数据溢出

int x = 130;
byte b = (byte)x; //b = -126

6、工作空间

? eclipse: 统一将多个项目存放在同一个文件夹,进行项目的统一管理

? idea : idea中时提倡一个项目就是一个工作空间,然后一个项目下面有多个模块

?

7、注释

7.1 文档注释 /***/

? 注释再类、方法上,解释该类或方法是做什么的

? 可以通过java Doc命令生成对应的api文档手册

注:

  • ? 类上的文档注释: 要有作者、创建时间、类是做什么的
  • ? 方法上的文档注释: 要解释方法是做什么的、参数的含义、会发挥哪些数据类型

7.2 文本注释

/ * 多行 * /
//单行

? 写给自己或看源码的人,放在代码块上

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:31:13  更:2021-12-09 11:32:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:26:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码