【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);
    }
}

请添加图片描述

运算符优先级

请添加图片描述

建议:运算符的优先级不必专门去记,可以适当使用()去改变优先级。
相关文章
|
23天前
|
Java Maven
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
该博客文章介绍了如何使用Java Swing中的JFrame创建一个窗体来收集用户输入的内容,并提供了详细的实现步骤和完整代码示例。
使用java语言制作一个窗体(弹窗),用来收集用户输入的内容
|
11天前
|
算法 Java 开发者
Java 编程入门:从零到一的旅程
本文将带领读者开启Java编程之旅,从最基础的语法入手,逐步深入到面向对象的核心概念。通过实例代码演示,我们将一起探索如何定义类和对象、实现继承与多态,并解决常见的编程挑战。无论你是编程新手还是希望巩固基础的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
12天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
15天前
|
Java 程序员 UED
Java中的异常处理:从入门到精通
【8月更文挑战第28天】在Java编程的世界里,异常处理是一块基石,它确保了程序的健壮性和可靠性。本文将通过深入浅出的方式,带你了解Java异常处理的基本概念、分类、以及如何有效地捕获和处理异常。我们将一起探索try-catch-finally结构的奥秘,并学习如何使用throws关键字声明方法可能会抛出的异常。此外,我们还会讨论自定义异常类的创建和使用,以及最佳实践。无论你是Java新手还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识,帮助你编写出更加稳定和可靠的代码。
|
14天前
|
编解码 网络协议 Oracle
java网络编程入门以及项目实战
这篇文章是Java网络编程的入门教程,涵盖了网络编程的基础知识、IP地址、端口、通讯协议(TCP和UDP)的概念与区别,并提供了基于TCP和UDP的网络编程实例,包括远程聊天和文件传输程序的代码实现。
java网络编程入门以及项目实战
|
24天前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
33 2
|
11天前
|
Java 程序员 UED
Java 中的异常处理:从入门到精通
【8月更文挑战第31天】在Java编程的世界中,异常处理是保持应用稳定性的重要机制。本文将引导你理解异常的本质,学会如何使用try-catch语句来捕获和处理异常,并探索自定义异常类的魅力。我们将一起深入异常的世界,让你的代码更加健壮和用户友好。
|
11天前
|
Java 数据库连接 开发者
Java中的异常处理:从入门到精通
【8月更文挑战第31天】 在编程世界中,错误和异常就像是不请自来的客人,总是在不经意间打扰我们的程序运行。Java语言通过其异常处理机制,为开发者提供了一套优雅的“待客之道”。本文将带你走进Java异常处理的世界,从基础语法到高级技巧,再到最佳实践,让你的程序在面对意外时,也能从容不迫,优雅应对。
|
11天前
|
Java 开发者
Java 中的异常处理:从入门到精通
【8月更文挑战第31天】在Java的世界中,异常处理是保持程序健壮性的基石。本文将带你探索Java异常处理的奥秘,从基本的try-catch语句到深入理解自定义异常和最佳实践。你将学会如何优雅地处理错误,确保你的代码不仅能够面对意外情况,还能从中恢复。让我们一起开启这段旅程,掌握让程序更加稳定和可靠的技巧吧!
|
14天前
|
机器学习/深度学习 Java TensorFlow
深度学习中的图像识别:从理论到实践Java中的多线程编程入门指南
【8月更文挑战第29天】本文将深入探讨深度学习在图像识别领域的应用,从基础理论到实际应用案例,带领读者一步步理解如何利用深度学习技术进行图像识别。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库实现一个基本的图像识别模型。无论你是初学者还是有一定经验的开发者,都能从中获得启发和学习。 【8月更文挑战第29天】在Java世界里,线程是程序执行的最小单元,而多线程则是提高程序效率和响应性的关键武器。本文将深入浅出地引导你理解Java多线程的核心概念、创建方法以及同步机制,帮助你解锁并发编程的大门。