【详细+超基础】Java-学习笔记 03

简介: 【详细+超基础】Java-学习笔记 03

二、Java 语言基础


标识符概述


Java中的标识符用来标记包、类、接口、对象、方法、变量等名称的字符序列。

标识符是以字母、下划线(__)、美元符号开头、后面可以跟随任意字母、数字、下划线、美元符号。


标识符注意


Java中的标识符不能以数字开头、对大小写敏感、标识符与关键字不能相同。

命名规则

1、类名、接口名的命名:单词的首字母大写,其他字母小写。

2、变量、方法的命名:第一个单词全小写,从第二个单词开始,单词的首字母大写,其余都小写。

3、常量的命名:每个单词都大写,单词之间用“__”连接。

4、包名的命名:包名的所有字母都小写。

关键字

Java中的关键字是有特定含义的,为编译器所保留的,不能作为标识符使用,且所有的关键字都是小写的。

用于数据处理的关键字:byte short int long float  double char boolean

用于流程控制语句的关键字:if else switch case default  while for break continue

方法、类型、变量的修饰的关键字:private public protected final static abstract  synchronized

异常处理的关键字:try catch finally throw throws

对象相关的关键字:new extends implements  class  this  super instance of(用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上)

方法相关的关键字:return void

包相关的关键字:package import

其他关键字: true false null


分隔符及注释


分隔符: ;   {}   ()    .  
 注释: 
     // 单行注释
     /*
    多行注释    
     */
     /**
      文档注释
     */


变量


变量作为程序中最基本的存储单元,要素包括:变量类型,变量名,作用域

声明变量:


局部变量(local variable)


方法或语句内部定义的变量,必须先声明后赋值。

成员变量(member variable)

方法外部、类的内部定义的变量,成员变量会自动初始化

静态变量(static variable)

使用static定义,从属于类

变量和常量命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母大写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写,驼峰原则
  • 方法名:首字母小写和驼峰原则:run(),runRun()


数据类型:


Java中的数据类型分为两类:基本数据类型与引用数据类型


image.png


byte:1个字节 short:2个字节

int:4个字节 long:8个字节

float:4个字节 double:8个字节

char:2个字节 boolean:1位

引用数据类型:4个字节,用来代表对象的地址


整型变量/常量


image.png


十进制整数,如:99,-500,0

八进制整数,要求以0开头,如:015

十六进制数,要求 0x 或 0X 开头,如:0x15

二进制数,要求 0b 或 0B开头 如:0h01110011


浮点型变量/常量


image.png

十进制数形式,如:3.14  314.0   0.314

科学计数法形式,如314e2    314E2   314E-2     (e2 = 10^2    E-2 = 10^(-2))

**注意:**浮点型变量不精确不能用于比较,如果要用于比较需要用到java.math包下的连个有用的类BigInteger和BigDecimal


字符型变量/常量


在内存中占2个字节,用Unicode编码表

Unicode具有从0到65535之间的编码,他们通常从’\u000’ 到 ‘\uFFF’ 之间的十六进制值来表示(前缀u表示Unicode)


转义字符


image.png

boolean类型变量


在内存中占一位(不是一个字节)不可以使用0或非0的整数来代替true和false,这点和C语言不同。boolean类型用来判断逻辑条件,一般用于程序流程控制


各类型数据间的相互转换


1.自动类型转换


自动类型转换是指从低级到高级由编译器自动完成的类型转换,规则如下


  • byte short  int  long  float double
  • char int  long float double
byte  b=4;
int x=b;


2.强制类型转换


强制类型转换是强制编译器进行类型转换形式,格式为: (类型)变量名

double  money=76.69;
int   balance=(int) money;


运算符


运算符分类


image.png


算数运算符


二元运算符的运算规则:


整数运算


  • 如果两个操作数有一个为Long,则结果也为Long
  • 没有Long时,结果为int。即使操作数全为short,byte,结果也是int


浮点运算


  • 如果两个操作有一个为double,结果为double。
  • 只有两个操作数都是float,则结果才为float。


取模运算


其操作可以为浮点数,一般为整数,结果是“余数”,“余数”符号和左边操作相同。

如:7 % 3 = 1    -7 % 3 = -1      7 % -3 = 1

算数运算符中++,- -属于一元运算符,该类运算符只需要一个操作数


赋值及其扩展赋值运算符


image.png


关系运算符


image.png

逻辑运算符


image.png


位运算符


image.png


字符串连接符


image.png


条件运算符


X ? Y : Z

运算符优先级的问题


image.png


逻辑与、逻辑或、逻辑非的优先级一定要熟悉!(逻辑非>逻辑与>逻辑或)。

如:a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c


符号运算之 a++   ++a


注意:


a++     ++a

a++和++a 都属于自增运算符,区别是对变量a的值进行自增的时间不同。

a++是先进行取值,后进行自增。

++a是先进行自增,后进行取值。

例如:假设 x=3,y=4;

(1) (x++)+(++x)=8

解释:

对于第一个(x++),因为x++是先取值后自增,所以(x++)所取得值为3,然后x进行自增,此时x=4;

对于第二个(++x),因为++x是先自增后取值,所以(++x)所取得值为5,此时x=5,所以结果为8。

(2) (x++)/3+(--y)*2-(x--)%6+(y++)*3-(y--)

1+6-4+9-4=8

解释:

首先(x++)取值为3,然后x=4;然后(--y)取值为3,此时y=3;然后(x--)取值为4,然后x=3;然后(y++)取3,然后后y=4;最后(y--)取4,然后y=3;

注意:()可以提高算数优先级,所以先算括号里面的表达式,但是x++的取值为x,然后x在自增。

重点: ++ 运算优先级很高

面试题:

int  i = 10
i  =  i++ ;

此时,i的值是多少?

答: 输入 i 的值为 10

解析:

首先 i++ 的取值结果为10, 然后 i 进行自增,此时 i=11 ,最后 进行赋值 ,所以 最后输出 i的值 为 10.


相关文章
|
6月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
396 5
|
3月前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
|
3月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
9月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
194 13
|
9月前
|
开发框架 Java 开发工具
【Java全栈学习笔记-U1-day01】Java介绍
本笔记整理了Java学习的基础内容,涵盖程序理解、Java语言特性、JDK安装与配置、Java程序开发工具及编写步骤。重点介绍了Java程序的基本结构、编译和运行过程,以及输出语句的使用。通过实例演示了IDEA创建Java程序的方法,并强调了编码规范和注意事项。适合初学者复习和交流学习。 主要内容: 1. 理解程序:计算机组成、程序定义。 2. 简介:Java语言特点、技术平台、JDK作用。 3. 编写Java程序:编写、编译、运行步骤,基本结构。 4. 输出语句 5. DEA使用:新建工程、保存位置、文件介绍、新建类。 6. 扩展:注释、代码规范、大小写敏感、缩进等。
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
405 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
Java 数据库连接 API
Spring 框架的介绍(Java EE 学习笔记02)
Spring是一个由Rod Johnson开发的轻量级Java SE/EE一站式开源框架,旨在解决Java EE应用中的多种问题。它采用非侵入式设计,通过IoC和AOP技术简化了Java应用的开发流程,降低了组件间的耦合度,支持事务管理和多种框架的无缝集成,极大提升了开发效率和代码质量。Spring 5引入了响应式编程等新特性,进一步增强了框架的功能性和灵活性。
262 0
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
本文是“Java学习路线”中Java基础知识的高级篇,主要对多线程和反射进行了深入浅出的介绍,在多线程部分,详细介绍了线程的概念、生命周期、多线程的线程安全、线程通信、线程同步,并对synchronized和Lock锁;反射部分对反射的特性、功能、优缺点、适用场景等进行了介绍。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(高级篇)
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
169 0