javase基础(2)

1.算数运算符

运算符

  对常量和变量进行操作的符号称为运算符

表达式

  用运算符把常量或者变量连接起来符号的java语法的式子可以称为表达式

  不同运算符连接的式子体现的是不同类型的表达式

常用运算符

  算数运算符

* +,-,*,/,%,++,--

public class Demo1{
    public static void main(String[] args) {
        // 定义两个变量
        int a = 3;
        int b = 4;

        System.out.println(a + b);      

      System.out.println(a - b);

System.out.println(a * b);

System.out.println(a / b);

// 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算

System.out.println(3 / 4.0);

System.out.println(3.0 / 4);

}

}

注意:

%:取余运算符。得到的是两个相除数据的余数。

/:除法运算符。得到是两个相除数据的商。

使用场景: %:判断两个数据是否整除。

  字符参与运算

其实是拿该字符对应的数值来操作

‘a’     97

‘A’     65

‘0’     48

字符串参与运算

这里其实做的不是加法运算,而是字符串拼接。

字符串和其他类型的数据做拼接,结果是字符串类型的。

/*
 * 整数的加法。
 * 字符参与加法操作。拿字符在计算机中底层存储对应的数据值来参与运算的。
 *         ‘0‘        48
 *         ‘a‘        97
 *         ‘A‘        65
 * 字符串参与加法操作。
 *         这里的+其实不是加法,而是字符串连接符。
 */
public class Demo2{
    public static void main(String[] args) {
        // 整数加法
        int a = 10;
        int b = 20;
        System.out.println(a + b);
        System.out.println("------------------");

        // 字符参与加法操作
        char c = ‘0‘;
        char c2 = ‘a‘;
        System.out.println(a + c);
        System.out.println(a + c2);
        System.out.println("------------------");

        // 字符串参与加法操作
        System.out.println("hello" + a);
        System.out.println("hello" + a + b); // "hello"+10,然后再和b进行拼接
        System.out.println(a + b + "hello");
    }
}

2.++和--

  

++,--运算符:对变量做加1或者减1的操作。

++或者--既可以放在变量的后面,也可以放在变量的前面。

单独使用的时候,++或者--无论是放在变量的前面还是后面,结果是一样的

如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--

如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作

public class Demo3{
    public static void main(String[] args) {
        int a = 10;
        System.out.println("a:" + a);

        // 单独使用
        // a++;
        // ++a;
        // System.out.println("a:" + a);

        // 参与操作使用
        // int b = a++;
        int b = ++a;
        System.out.println("a:" + a);
        System.out.println("b:" + b);
    }
}

3.赋值运算符

基本的赋值运算符:=

扩展的赋值运算符:+=,-=,*=,/=,%=

+=: a+=20;相当于a = (a的数据类型)(a + 20);

/*
 * 赋值运算符:
 *         A:基本    =
 *         B:扩展    +=,-=,*=,...
 *
 * +=:
 *         a+=20;
 *         相当于
 *         a = (a的数据类型)(a + 20);
 */
public class OperatorDemo {
    public static void main(String[] args) {
        // 把10赋值给int类型的变量a
        int a = 10;

        // += 把左边和右边的数据进行运算,最后赋值给左边。左边的只能是变量
        a += 10;// 相当于a = a + 10
        System.out.println("a:" + a);
        System.out.println("----------------------");

        short s = 10;
        // s += 20; // 相当于 s = s + 20;
        s = (short) (s + 20);
        System.out.println("s:" + s);
    }
}

4.  关系运算符

==,!=,>,>=,<,<=

关系运算符的结果都是boolean型,也就是要么是true,要么是false。

*
 * 关系运算符:
 *         ==,!=,>,>=,<,<=
 *         关系运算符的结果是boolean类型。
 *
 * 注意:
 *         千万不要把==写成=
 */
public class OperatorDemo {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 10;

        System.out.println(a == b);
        System.out.println(a == c);
        System.out.println("-----------------");
        System.out.println(a != b);
        System.out.println(a != c);
        System.out.println("-----------------");
        System.out.println(a > b);
        System.out.println(a > c);
        System.out.println("-----------------");
        System.out.println(a >= b);
        System.out.println(a >= c);
        System.out.println("-----------------");

        int x = 3;
        int y = 4;
        // System.out.println(x == y);
        // System.out.println(x = y);// 把y赋值给x,把x的值输出
        boolean bb = (x == y);
        // 报错
        // boolean cc = (x = y);
        int cc = (x = y);
    }
}

5.  逻辑运算符

  &,|,^,!

&&,||

    逻辑运算符一般用于连接boolean类型的表达式或者值。

  表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。

算术表达式:a + b

比较表达式:a == b(条件表达式)

&逻辑与:有false则false。

|逻辑或:有true则true。

^逻辑异或:相同为false,不同为true。

!逻辑非:非false则true,非true则false。

特点:偶数个不改变本身。

/*
 * 逻辑运算符:用于连接关系表达式。
 * &,|,^,!
 * &&,||
 *
 * 与:&    有false则false
 * 或:|    有true则true
 * 异或:^ 相同则false,不同则true。(男女朋友)
 * 非:!    true则false,false则true
 */
public class Demo5{
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;

        System.out.println((a > b) & (a > c));// false & false
        System.out.println((a < b) & (a > c)); // true & false
        System.out.println((a > b) & (a < c)); // false & true
        System.out.println((a < b) & (a < c)); // true & true
        System.out.println("---------------");
        System.out.println((a > b) | (a > c));// false | false
        System.out.println((a < b) | (a > c)); // true | false
        System.out.println((a > b) | (a < c)); // false | true
        System.out.println((a < b) | (a < c)); // true | true
        System.out.println("---------------");
        System.out.println((a > b) ^ (a > c));// false ^ false
        System.out.println((a < b) ^ (a > c)); // true ^ false
        System.out.println((a > b) ^ (a < c)); // false ^ true
        System.out.println((a < b) ^ (a < c)); // true ^ true
        System.out.println("---------------");
        System.out.println((a > b)); // false
        System.out.println(!(a > b)); // !false
        System.out.println(!!(a > b)); // !!false
    }
}

注意:

  

   &&和&的区别?

a:最终结果一样。

b:&&具有短路效果。左边是false,右边不执行。

&是无论左边是false还是true,右边都会执行

    ||和|的区别?

a:最终结果一样

b:||具有短路效果.左边是true,右边不执行

|是无论左边是false还是true,右边都会执行

/*
 * &&和&的结果一样
 * ||和|的结果一样
 *
 * &&和&的区别:
 *         &&如果左边是false,右边不执行。
 *         &无论左边是true还是false,右边都会执行。
 */
public class Demo6{
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = 30;

        System.out.println((a > b) && (a > c));// false && false
        System.out.println((a < b) && (a > c)); // true && false
        System.out.println((a > b) && (a < c)); // false && true
        System.out.println((a < b) && (a < c)); // true && true
        System.out.println("---------------");
        System.out.println((a > b) || (a > c));// false || false
        System.out.println((a < b) || (a > c)); // true || false
        System.out.println((a > b) || (a < c)); // false || true
        System.out.println((a < b) || (a < c)); // true || true
        System.out.println("---------------");

        int x = 3;
        int y = 4;
        // System.out.println((x++ > 4) & (y++ > 5)); // false & false
        System.out.println((x++ > 4) && (y++ > 5)); // false && false
        System.out.println("x:" + x);
        System.out.println("y:" + y);
    }
}

6.  三元运算符

  (关系表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;

如果条件为false,运算后的结果是表达式2;

获取两个数中大数。

int x=3,y=4,z;

z = (x>y)?x:y;//z变量存储的就是两个数的大数

/*
 * 三元运算符:
 *
 * 格式:
 *         (关系表达式)?表达式1:表达式2;
 * 执行流程:
 *         A:计算关系表达式的值,看是true还是false
 *         B:如果是true,表达式1就是运算结果
 *               如果是false,表达式2就是运算结果
 */
public class Demo7{
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        int c = (a > b) ? a : b;
        System.out.println("c:" + c);
    }
}

比较两个数是否相等

/*
 * 三元运算符的练习
 * 比较两个整数是否相同
 */
public class Demo8{
    public static void main(String[] args) {
        // 定义两个int类型的变量
        int a = 10;
        int b = 20;

        boolean flag = (a == b) ? true : false;
        // boolean flag = (a == b);
        System.out.println(flag);
    }
}

获取三个数的最大值

/*
 * 获取三个整数中的最大值
 */
public class Demo9{
    public static void main(String[] args) {
        // 定义三个int类型的变量
        int a = 10;
        int b = 30;
        int c = 20;

        // 先比较两个整数的大值
        int temp = ((a > b) ? a : b);
        int max = ((temp > c) ? temp : c);
        System.out.println("max:" + max);
    }
}

7.键盘录入

import java.util.Scanner;
/*
 * 为了提高程序的灵活性,我们就把数据改进为键盘录入。
 * 如何实现键盘录入呢?目前我们只能使用JDK提供的类Scanner。
 * 这个使用的步骤,目前大家记住就可以了。
 *
 * 使用步骤:
 *         A:导包
 *             import java.util.Scanner;
 *             类中的顺序:package > import > class
 *         B:创建对象
 *             Scanner sc = new Scanner(System.in);
 *         C:接收数据
 *             int i = sc.nextInt();
 */

public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建键盘录入数据的对象
        Scanner sc = new Scanner(System.in);

        //接收数据
        System.out.println("请录入一个整数:");
        int i = sc.nextInt();

        //输出数据
        System.out.println("i:"+i);
    }
}

键盘录入练习

获取三个数的最大值

import java.util.Scanner;

/*
 * 键盘录入三个数据,获取这三个数据中的最大值
 */
public class ScannerDeom2{
    public static void main(String[] args) {
        // 创建对象
        Scanner sc = new Scanner(System.in);

        // 接收数据
        System.out.println("请输入第一个数据:");
        int a = sc.nextInt();

        System.out.println("请输入第二个数据:");
        int b = sc.nextInt();

        System.out.println("请输入第三个数据:");
        int c = sc.nextInt();

        // 如何获取三个数据的最大值
        int temp = (a > b ? a : b);
        int max = (temp > c ? temp : c);

        System.out.println("max:" + max);
    }
}
时间: 2024-11-03 17:11:33

javase基础(2)的相关文章

JavaSE基础之JDBC

JavaSE基础之JDBC 1.JDBC 的步骤: ①加载数据库驱动: a.MySQL:com.mysql.jdbc.Driver: b.SQLServer:com.microsoft.jdbc.sqlserver.SQLServerDriver: c.Oracle:oracle.jdbc.driver.OracleDriver: ②获取数据库链接:  a.MySQL:jdbc:mysql://localhost:3306/DataBaseName: b.SQLServer:jdbc:sqlse

java-se基础 2(注释和原生数据类型)

Java SE 第二讲: 1. Windows: notepad, editplus, ultraedit, gvim Linux: vi, vim, gedit 2. Java中的数据类型分为两大类: 1) 原生数据类型 (Primitive Data Type) 2) 引用类型(对象类型) (Reference Type) 3. 变量与常量:所谓常量,就是值不会变化的量:所谓变量,就是值可以变化的量. 4. 如何定义变量? 变量类型 变量名; int a; 5. 如何为变量赋值? 变量名 =

javaSE基础07

javaSE基础07 一.static静态修饰符 用了static修饰的变量就会变成共享的属性,只会初始化一次,在内存中只存在一个,并且每个对象都可以访问,存放在方法区(数据共享区) 1.1 static用来修饰成员变量 一个成员变量被static修饰了叫静态成员变量,如果没有修饰叫非静态成员变量 静态成员变量的访问方式: 1.用对象进行访问:对象.变量名 2.还可以通过类名来访问:类名.变量名 使用注意点: 1.不要认为方便就将所有的变量用static修饰,只有当这个数据真正需要共享的时候才用

javase基础复习攻略《二》

今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言则是一种面向过程的设计思路,相信以后的发展一定会朝着面向服务的方向. 废话不多说,开始今天的总结: 1.标示符: 标示符为何物?它就是JAVA规定的一种命名规则.凡是需要你自己进行命名的地方都需要遵守JAVA的标示符规则,JAVA标识符包括:a.标识符是由英文字母.下划线(_).美元符号($)和数字

javase基础复习攻略《十》

按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络?把分布在不同区域的计算机与专门的外部设备用通信线路互联成一个规模大.功能强的网络系统,从而使众多计算机可以方便的互相传递信息,共享硬盘.软件.数据信息等资源. 什么是网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率.传输代码.代码结构.传输控制步骤.出错控制等制定标准. 网络通信接

Java复习第二天---JavaSE基础

[1]以下关于 JVM 的叙述,哪些项正确? A.JVM 运行于操作系统之上,它依赖于操作系统 B.JVM 运行于操作系统之上,它与操作系统无关 C.JVM 支持 Java 程序运行,它能够直接运行 Java 字节码文件 D.JVM 支持 Java 程序运行,它能够直接运行 Java 源代码文件 扩展名为.java的是源代码文件(文本文件):开发时编写代码的文件 扩展名为.class的是字节码文件(二进制):系统运行时执行的文件 [2]下列选项中正确的表达式是: A.byte b = 128; 

JavaSE基础之封装

JavaSE基础之封装 一.Java中的封装 1.字面意思: 包装: 2.专业含义: 面向对象的三大特征之一: 指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.封装的目的 1.隐藏类的实现细节: 2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问: 3.可进行数据检查,从而有利于保证对象信息的完整性: 4.便于修改,提高代码的可维护性: 三.如何实现良好的封

javaSE基础之基本细节注解

1.  对于多行注释而言,不能进行嵌套注释.....! /* dada /* d adasdas */ */ 只是不被允许的.... 2.对于记事本编程......如果竹类是公有类,则必须保证类名和为文件名相同,如果不是公有类不,则没有这个要求. 3.0 Java中的名称命名规范: 包名:多单词组成时所有字母都小写:xxxyyyzzz 类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxY

javaSE基础之记事本编程

首先安装好jdk和jre,之后进行如下操作: 1. 将代码记事本---->cmd--->javac 文件名.java ----->java 文件名 如图: 2. 关于记事本文件属性的问题,如何设置隐藏与不隐藏...... Ctrl+R ----->工具--->文件夹选项--->查看---->不隐藏/隐藏 javaSE基础之记事本编程

java学习之路之javaSE基础1

<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用举例 * 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔记本计算机.大型计算机等. * 应用举例 * 1:科学计算 * 2.数据处理 * 3.自动控制 *