【Java零基础入门篇】第 ② 期 - Java语言基础(三)

简介: Java零基础入门


博主:命运之光
专栏:JAVA入门
JAVA.gif

学习目标 掌握变量、常量、表达式的概念,数据类型及变量的定义方法;
掌握常用运算符的使用; 掌握程序的顺序结构、选择结构和循环结构的使用;
掌握数组的定义及使用方法;
掌握基本的输入输出方法;


## 运算符
Java中的语句有很多种形式,表达式就是其中一种形式。表达式是由操作数运算符所组成:操作数可以是常量变量也可以是方法,而运算符就是数学中的运算符号,如“+”、“-”、“*”、“/”、“%”等。以下面的表达式(z+100)为例,“z”与“100”都是操作数,而“+”就是运算符。
在这里插入图片描述

赋值运算符

赋值运算符分为两种:

  • 简单赋值运算符 “ = ”

作用是为变量赋值不能为常量或表达式赋值。当赋值运算符两边的数据类型不一致时,使用自动类型转换强制类型转换原则进行处理。

        int  n = 10 ;//声明并赋值
        int  a, b, c;//连续声明
        a = b = c = 10;//多个变量同时赋值,表达式等价于c = 10; b = c; a = b;
        int  x = y = z = 10;//错误,Java不支持此语法
  • 复合赋值运算符 :

请添加图片描述

🍓🍓例: 使用复合赋值运算符。

public class text1 {
    public static void main(String args[]) {
        int num = 10;
        num *= 2;
        System.out.println(num);
    }
}

请添加图片描述
🍓使用复合赋值运算符的好处

  • 语法简洁;🍍🍍🍍
  • 运算时可以自动在底层完成数据类型的转换;🍍🍍🍍

算术运算符

请添加图片描述
🍓🍓例1: 求模(求余)运算。

public class text1 {
    public static void main(String args[]) {
        int numA = 10;
        int numB = 3;
        System.out.println(numA % numB);
    }
}

请添加图片描述

可以利用与2求模来判断奇偶数(偶数模2为0,奇数模2为1)

🍓🍓例2: 加,减,乘,除运算。

public class text1 {
    public static void main(String args[]) {
        int numA = 10;
        int numB = 20;
        System.out.println("加法计算:" + (numA + numB));
        System.out.println("减法计算:" + (numA - numB));
        System.out.println("乘法计算:" + (numA * numB));
        System.out.println("除法计算:" + (numA / (double) numB));
    }
}

请添加图片描述

  • 两个整数相除,结果只保留整数部分;
  • 除数和被除数若有一个非整数,则结果为浮点数

🍓🍓例3: 字符串连接运算‘+’。

需要满足一个前提条件:表达式中至少有一个字符串
public class text1 {
    public static void main( String args[ ] ) {
        int num = 10;
        System.out.println( "除法运算结果为:" + num/3.0);
    }
}

请添加图片描述

3.0默认为double型,所以除法运算最终结果为浮点数

🍓🍓例4:自增运算符(前置) 。

public class text1 {
    public static void main(String args[]) {
        int numA = 10;            // 定义整型变量
        int numB = 20;            // 定义整型变量
        // “++”写在变量前面,表示先对numA的变量内容加1
        // 使用处理后的numA变量的内容 + numB变量的内容
        int result = ++numA + numB;
        System.out.println("numA = " + numA);
        System.out.println("result = " + result);
    }
}

请添加图片描述
🍓🍓例5:自增运算符(后置)。

public class text1 {
    public static void main(String args[]) {
        int numA = 10;             // 定义整型变量
        int numB = 20;             // 定义整型变量
        // “++”写在后面,表示先使用numA的内容进行加法计算
        // 加法计算完成之后在对numA的内容进行自增
        int result = numA++ + numB;
        System.out.println("numA = " + numA);
        System.out.println("result = " + result);
    }
}

请添加图片描述

关系运算符

关系运算符的主要功能是进行数据的大小关系比较,返回的结果是boolean型数据(只有true、false两种取值)。
请添加图片描述

除==和!=运算符 之外其他关系运算符都只支持左右两边的操作数 都是数值类型的情况

🍓🍓例:使用关系运算符。

public class text1 {
    public static void main(String args[]) {
        System.out.println("3 > 1 = " + (3 > 1));    // 使用大于号
        System.out.println("3 < 1 = " + (3 < 1));    // 使用小于号
        System.out.println("3 >= 1 = " + (3 >= 1));    // 使用大于等于号
        System.out.println("3 <= 1 = " + (3 <= 1));    // 使用小于等于号
        System.out.println("3 == 1 = " + (3 == 1));    // 使用等于号
        System.out.println("3 != 1 = " + (3 == 1));    // 使用不等于号
    }
}

请添加图片描述

逻辑运算符

==&—逻辑与 | —逻辑或 !—逻辑非 && —短路与 || —短路或 ^ —逻辑异或==
请添加图片描述

逻辑运算符用于操作 两个布尔型的变量和常量,其结果仍是 布尔类型值

🍓🍓例1:逻辑非(!),普通逻辑与(&)运算。

public class text1 {
    public static void main(String args[]) {
        boolean flag1 = true;        // 定义布尔型变量
        boolean flag2 = (1 == 2) & (10 / 2 == 0); //普通与运算结果赋值给布尔变量
        System.out.println(!flag1);    // 对变量结果进行非操作
        System.out.println(flag2);
    }
}

请添加图片描述
🍓🍓例2:短路与(&&)运算。

public class text1 {
    public static void main(String args[]) {

        boolean flag = (1 == 2) && (10 / 0 == 0); //短路与运算结果赋值给布尔变量

        System.out.println(flag);
    }
}

请添加图片描述
在这里插入图片描述
🍓🍓例3:普通或( | )操作。

public class text1 {
    public static void main(String args[]) {
        boolean flag = (1 == 1) | (10 / 0 == 0); //短路与运算结果赋值给布尔变量
        System.out.println(flag);
    }
}

请添加图片描述
在这里插入图片描述
🍓🍓例4:短路或( || )操作。

public class text1 {
    public static void main(String args[]) {
        boolean flag = (1 == 1) || (10 / 0 == 0); //短路与运算结果赋值给布尔变量
        System.out.println(flag);
    }
}

请添加图片描述
在这里插入图片描述
总结:

  • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 ;
  • “&”和“&&”的区别:
    1.单&时,左边无论真假,右边都进行运算;
    2.双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

3.“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。

条件运算符

条件运算符是三目运算符。执行三目的时候可以以一个布尔表达式的结果进行赋值,基本的语法结构如下:

数据类型 变量 = 布尔表达式 ? 满足此表达式时设置的内容 : 不满足此表达式时设置的内容 ;
public class text1 {
    public static void main(String args[]) {
        int numA = 10;    // 定义int型变量
        int numB = 20;    // 定义int型变量
        // 如果numA大于numB,返回true,则将numA的内容赋值给max
        // 如果numA小于numB,返回false,则将numB的内容赋值给max
        int max = numA > numB ? numA : numB;
        System.out.println(max);
    }
}

请添加图片描述

运算符优先级

请添加图片描述

建议:运算符的优先级不必专门去记,可以适当使用()去改变优先级。
相关文章
|
1月前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
50 3
|
11天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
15天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
33 4
|
17天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
23天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
63 5
|
20天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
32 1
|
27天前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
44 3
|
28天前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
30天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
45 4
|
29天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
23 1
下一篇
无影云桌面