当前位置: 首页 > news >正文

JAVA快速学习(一)

前期准备

JDK安装:Java Downloads | Oracle

直接下载jdk 8 注册Oracle账号,下载完成一路下一步,直接默认让注册系统环境变量即可

IED安装:IntelliJ IDEA | Other Versions

我喜欢老版UI所以用之前的版本,直接切UI 就可以

基础学习

关系运算符

跟python是差不多的

逻辑运算符

1. 基本逻辑运算符对比

逻辑关系Java 运算符Python 运算符说明
逻辑与&&and两边都为真时,结果才为真
逻辑或``or至少一边为真时,结果为真
逻辑非!not取反(真变假,假变真)

2. 核心差异

(1)语法形式不同
  • Java 使用符号运算符(&&||!),与大多数编程语言一致。

  • Python 使用关键字(andornot),更接近自然语言。

    示例:

    java

    运行

    // Java
    boolean a = true;
    boolean b = false;
    System.out.println(a && b);  // false(逻辑与)
    System.out.println(a || b);  // true(逻辑或)
    System.out.println(!a);      // false(逻辑非)
    
     

    python

    运行

    # Python
    a = True
    b = False
    print(a and b)  # False(逻辑与)
    print(a or b)   # True(逻辑或)
    print(not a)    # False(逻辑非)
    
(2)短路求值特性相同,但应用场景有别

两者都支持短路求值(即提前终止计算):

  • 逻辑与(&&/and):如果左边为假,右边不再计算。

  • 逻辑或(||/or):如果左边为真,右边不再计算。

    示例:

    java

    运行

    // Java
    int x = 1;
    boolean res = (x > 5) && (x++ > 0);  // 左边为假,x++不执行
    System.out.println(x);  // 输出 1(x未变)
    
     

    python

    运行

    # Python
    x = 1
    res = (x > 5) and (x := x + 1)  # 左边为假,右边不执行(:=是赋值表达式)
    print(x)  # 输出 1(x未变)
    

(3)对非布尔值的处理不同(关键差异)
  • Java:严格要求运算符两边必须是布尔值(boolean 类型),否则编译报错。

    java

    运行

    // 错误示例:Java 不允许非布尔值参与逻辑运算
    int a = 1;
    int b = 2;
    if (a && b) {  // 编译错误:int 不能转换为 boolean// ...
    }
    

  • Python:允许非布尔值参与逻辑运算,会自动判断值的 “真假性”(0""None、空列表等视为假,其他视为真)。
    并且返回的是实际参与运算的值,而非严格的布尔值 True/False

    python

    # Python 示例:非布尔值参与运算
    print(0 and 5)    # 0(左边为假,返回左边)
    print(5 and 10)   # 10(左边为真,返回右边)
    print("" or "hi") # "hi"(左边为假,返回右边)
    print("a" or "b") # "a"(左边为真,返回左边)
    

(4)位运算符与逻辑运算符的区分

Java 中需要注意逻辑运算符&&||)与位运算符&|)的区别:

  • &&/|| 是逻辑运算符,用于布尔值,支持短路求值。
  • &/| 是位运算符,可用于整数(按位运算)或布尔值(不短路求值)。

Python 中没有专门的逻辑运算符符号,&/| 仅作为位运算符,不会用于逻辑判断。

注意点:

x++==6 :这里是后++,先比较==再++

++y==6:这里是先++,后比较==

跟JavaScript 是一样的

赋值运算符

跟python是一致的

三元运算符

public class Main {public static void main(String[] args) {int a = 10;int b = 99;int result = a > b ? a++ : b--;System.out.println(a);System.out.println(result);System.out.println(b);}
}

代码执行过程

  1. 初始化变量:a = 10b = 99

  2. 执行三元运算符:

    java

    运行

    int result = a > b ? a++ : b--;
    

    首先判断条件 a > b10 > 99 结果为 false

    • 因为条件为 false,所以三元运算符会执行 冒号后面的表达式(即 b--)。

    • b-- 是后减运算符:先使用 b 的当前值(99),然后再将 b 的值减 1。

    因此,result 被赋值为 b 的当前值 99,之后 b 才变为 98。

  3. 输出结果:

    • System.out.println(a)a 从未被修改,输出 10

    • System.out.println(result):刚才赋值的是 b 原来的值,输出 99

    • System.out.println(b)b 经过 b-- 后变为 98,输出 98

核心原因

result 等于 99 是因为:

  • 三元运算符根据条件选择了 b-- 作为结果。

  • 后减运算符 b-- 的特性是先取值,后减 1,所以 result 得到的是 b 原来的值(99),而不是减 1 后的值(98)。

运算符优先级

关键字

顺序控制

分支控制 if-else

跟python一致的,只是写法不一样

单分支

双分支

switch分支结构

for 循环

while 循环

数组

http://www.dtcms.com/a/348736.html

相关文章:

  • 30分钟通关二分查找:C语言实现+LeetCode真题
  • 【通识】大模型
  • AI工具:开启开发实践的新纪元
  • Qt---架构文件.pro
  • Shell 循环实战:while 与 until 的趣味编程之旅
  • 【轨物交流】轨物科技亮相“智汇日照・杭电赋能”科技合作交流会,共谋产学研用新篇章
  • MOS的导通及应用
  • 6.2 el-menu
  • 20.13 ChatGLM3 QLoRA微调实战:3步实现高效低资源训练
  • 06 - spring security角色和权限设置
  • 虚拟机蓝屏问题排查与解决
  • 小工具推荐
  • 【数据结构】栈和队列——栈
  • 生成模型 | DDPM -> Imrpoved DDPM -> DDIM
  • LIANA | part2 results部分
  • QML Charts组件之坐标轴示例
  • LangGraph 与 MCP 模型上下文协议简介与演示
  • 教育系统搭建攻略:线上知识付费与线下消课排课全解析
  • 【Java开发日记】我们来讲一讲 Channel 和 FileChannel
  • Polkadot - JAM
  • 美股期权历史市场数据波动特性分析
  • 【中文教材】14. 汇率计算
  • 人工智能-python-深度学习-tensor基操
  • 数学建模(摸索中……)
  • CUDA安装,pytorch库安装
  • 如何实现模版引擎
  • Shell 学习笔记 - Shell 三剑客篇
  • unity热更新总结
  • 【如何使用Redis实现分布式锁详解讲解】
  • [快乐数](哈希表)