Java基础-语法(下)

简介: 上一篇介绍了java的语法规范、注释、标识符及修饰符相关内容,本节继续介绍 java基础语法的剩余部分,包括 java的运算符、变量和关键字方面的内容。

承接上文,本节继续介绍 java基础语法的剩余部分,包括 java的运算符、变量和关键字方面的内容。

语法下.png

1、运算符

1.1 常规

1)算术运算符:+,-,*,/,%(取余),++(自增),--(自减)
2)关系运算符:==,!=,>,<,>=,<= (用于布尔运算,结果未 true或 false)

pass:算术和关系运算符是最常见的也是最简单的,没什么好说的。
自增自减运算,a++ 相当于 a = a + 1, a-- 相当于a = a - 1

3)位运算符:& (按位与),| (按位或),^ (异或),~ (按位取反),<< (按位左移),>> (按位右移),>>> (按位右移补0)

pass:位运算符和二进制有关,方法与二进制位的运算相同。觉得绕的可以先跳过,不是重点

位运算.png
4)逻辑运算符:&& (短路与),|| (短路或),! (逻辑非),& (逻辑与),| (逻辑或),具体含义如见下表:
逻辑运算.png

pass:由表得知,操作数只能是布尔型,操作结果也是布尔型。

这里重点讲一下短路运算符从左到右的运算中前者满足要求,就不再执行后者。&&:从左到右,遇到一个为假就假。||:遇到一个为真就真。eg:

public class Hello {
   
    public static void main(String[] args) {
   
        int a=5;
        boolean b=(a<4)&&(a++<10);   //得到b为false。
        boolean c=(a>4)||(a++>10);   //得到c为true。
        System.out.println(b);
        System.out.println(c);
    }
}

短路运算符.png

5)赋值运算符:=,+=,-=,*=,/=,(%)=,<<=,>>=,&=,^=,|=

= (将右操作数的值赋给左侧操作数 如 A=B --> 将B赋给A)
+= (C + = A等价于C = C + A)
-= (C - = A等价于C = C - A)
= (C = A等价于C = C * A)
/= (C / = A,C 与 A 同类型时等价于 C = C / A)
其他的用的不多,自行了解。

1.2 其他

1)三元(条件)运算符

表达式1 ? 表达式2 : 表达式3

若表达式1为true,则返回表达式2的值,如果表达式1为false,则返回表达式3的值。eg:

public class Hello {
   
    public static void main(String[] args) {
   
        int e , f;
        e = 10;
        // 如果 e 等于 1 成立,f 为 20,否则为 30
        f = (e == 1) ? 20 : 30;
        System.out.println(f);    // f为30
    }
}

三目运算符.png

2)instanceof 运算符
用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。eg:

public class Hello {
   
    public static void main(String[] args) {
   
        String name = "James";
        boolean result=name instanceof String; //name 是 String 类型,故返回真
        System.out.println(result);
    }
}

instanceof.png

1.3 优先级(简单看看即可)

数字越小,优先级越高。
优先级.png

总结:括号最高,逗号最低,单目 > 算术 > 位移 > 关系 > 逻辑 > 三目 > 赋值。

2、变量

创建变量前必须先声明变量。

int a=10;   // 创建变量前必须先声明
String name="zhangsan";

变量.png

2.1 按在类中位置

1)局部变量
类的方法中、代码块中的变量(方法形参)。
2)类变量(静态变量)
static 关键字声明,但必须在方法之外
3)成员变量(非静态变量 / 实例变量 / 全局变量)
类中方法外:实例变量声明在一个类中,但在方法、构造方法和语句块之外。

2.2 final变量(常量)

final声明最终变量,不能被修改。

final int age = 15;
age = 20;  // 将报错:无法为最终变量赋值

2.3 小结

public class Demo{
   
    static int a=0;    // 类变量
    String str="zhangsan";  // 成员变量
    public void method(){
   
        int b =0;  // 局部变量
    }
}

3、关键字

Java关键字(保留字),不能用作变量、方法、类或任何其他标识符。常用的关键字一图以蔽之,如下:
关键字.png

目录
相关文章
|
2月前
|
存储 Java 容器
Java基本语法详解
本文深入讲解了Java编程的基础语法,涵盖数据类型、运算符、控制结构及数组等核心内容,帮助初学者构建坚实的编程基础。
|
18天前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
173 1
Redis-常用语法以及java互联实践案例
|
7天前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
54 1
|
3月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
134 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
2月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
119 0
|
3月前
|
存储 安全 Java
从基础语法到实战应用的 Java 入门必备知识全解析
本文介绍了Java入门必备知识,涵盖开发环境搭建、基础语法、面向对象编程、集合框架、异常处理、多线程和IO流等内容,结合实例帮助新手快速掌握Java核心概念与应用技巧。
69 0
|
12月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
142 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
12月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
116 2
|
12月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
139 1
|
7月前
|
缓存 安全 Java
java面试-基础语法与面向对象
本文介绍了 Java 编程中的几个核心概念。首先,详细区分了方法重载与重写的定义、发生阶段及规则;其次,分析了 `==` 与 `equals` 的区别,强调了基本类型和引用类型的比较方式;接着,对比了 `String`、`StringBuilder` 和 `StringBuffer` 的特性,包括线程安全性和性能差异;最后,讲解了 Java 异常机制,包括自定义异常的实现以及常见非检查异常的类型。这些内容对理解 Java 面向对象编程和实际开发问题解决具有重要意义。