0


Java基础语法——运算符与表达式

Eclipse下载 安装 使用

  • Eclipse的概述(磨刀不误砍柴工)——是一个IDE(集成开发环境)

  • Eclipse的特点描述

        (1)免费
    
      (2)纯Java语言编写
    
      (3)免安装
    
      (4)扩展性强  
    
  • 下载和安装

      (1)下载 The Community for Open Innovation and Collaboration | The Eclipse Foundation
    
      (2)安装  绿色版  解压就可以使用(Eclipse)
    

①按照上述网址进入下列网址:

②点击Download,再进入系列界面

③下载下列安装包

④点击下载进入下列界面,是一个捐钱界面,无需理会,不是Eclipse的软件付费界面,Eclipse是免费的软件。(可以使用360浏览器下载,有迅雷加速,谷歌浏览器下载的可慢了)

⑤解压并且安装

什么是工作区?——工作区可以比作房子,在工作区里边可以建立好多项目,项目又可以比作房子里边的家具

Eclipse的基本使用

选择工作空间——–其实就是我们写的源代码所在的目录

用Eclipse来完成一个HelloWorld案例

(1)–代码以项目为基本单位

(2)–创建项目

(3)–创建包

(4)–创建类

(5)–编写代码

(6)–编译

(7)–运行

其项目的创建实现如下:

package com.demo;

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("HelloWorld");

    }

}

关于Eclipse的小技巧:

(1)如果不小心把Console关掉,怎么办?

点击工作区的Window-Show View-Console

(2)如果我们把所有的工作区都关掉,应该怎么办?

点击工作区Window-Perspective-Reset Perspective

(3)字体的大小和颜色修改

Window-Preference-Appearabce-Colors and Fonts-basic-Text Font

(4)行号的显示

点击右键,Show Line Numbers

(5)自动保存和编译

工作区Project-Build Automatically,不打勾将不会自动保存

(6)如何导入别人做的工程?、

右键import-General-Existing Projects into Workspace

运算符

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

表达式

(1)用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。

(2)定义两个int类型的变量a,b,做加法(a + b)

常用运算符

(1)算术运算符

(2)赋值运算符

(3)关系运算符

(4)逻辑运算符

(5)三元运算符

一、算术运算符

  1. +,-,*,/的基本使用
  2. %的使用
  3. %和/的区别
  4. ++,--
  5. 自增自减

eg:代码:(1.2.3案例代码说明)

// 定义了一个包
package com.yunsuanfu;

// 定义类
public class Yunsuanfu {
    /**
     * Alt+/快捷键能够快速的帮助写出代码
     * 按住Crtl+鼠标左键,可以快速定位到对应的变量、方法或者其他的类
     */

    public static void main(String[] args) {
        //加法
        int c = add(1,2);
        System.out.println(c);
        //减法
        float d = substract(100.2f,50.1f);
        System.out.println(d);
        //乘法
        // 这里因为乘法那个函数不是静态的,我们要写入静态函数,需要加这一句话,没有static修饰符的,相当于一个动态的方法,首先我们需要将一个类new一个对象
        Yunsuanfu yunsuanfu = new Yunsuanfu();
        int e = yunsuanfu.multiply(5,6);
        System.out.println(e);
        //除法,上边已经new了,我们这里可以直接调用的
        float f = yunsuanfu.divide(100.0f, 3.0f);
        System.out.println("除法:"+f);
        //整数除法
        int h = yunsuanfu.divide(10, 3);
        System.out.println("整数除法:"+h);
        //取余
        long g = yunsuanfu.mod(10, 3);
        System.out.println(g);;
    }
    
    /**
     *两个整数相加
     *@parameter a
     *@parameter b
     *@return
     */
    public static int add(int a,int b) {
        int c = a+b;
        return c;
    }
    
    /**
     * 减法
     */
    public static float substract(float a,float b) {
        float c = a - b;
        return c;
    }
    
    /**
     * 乘法
     */
    public int multiply(int a,int b) {
        int c = a * b;
        return c;
    }
    
    /**
     * 除法
     */
    public float divide(float a,float b) {
        float c = a/b;
        return c;
    }
    
    /**
     * 整数除法
     */
    public int divide(int a,int b) {
        int c = a/b;
        return c;
    }

    /**
     * 取余
     */
    public long mod(long a,long b) {
        long c = a%b;
        return c;
    }
}

eg 代码(4,5案例代码说明)

package com.yunsuanfu;
/**
 * 自增和自减
 * @author 无限嚣张(菜菜)
 *
 */
public class SelfAddSubstract {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SelfAddSubstract selfAddSubstract = new SelfAddSubstract();
        int i =10;
        System.out.println("i初始值:"+i);
        System.out.println("i自增后"+selfAddSubstract.selfAdd(i));
        System.out.println("i初始值"+i);
        System.out.println("i自减后:"+selfAddSubstract.selfSubstract(i));
    }
    
    /**
     * 自增
     */
    public int selfAdd(int j) {
        ++j;
        return j;
    }

    /**
     * 自减
     */
    public int selfSubstract(int k) {
        --k;
        return k;
    }
}

** i++和++j的区别(一般用在循环里)**

i++放在后边,先调用他的值,再加1,++j放在前边,是先加1再运算

package com.yunsuanfu;

/**
 * 自增的两种形式
 * @author 无限嚣张(菜菜) 
 */
public class Self1 {

    public static void main(String[] args) {
        int i = 10;
        //++放在后面的时候先调用他的值再加1
        //i = i+1;
        System.out.println(i++);
        int j = 10;
        //++放在前面,先加1,再运算
        System.out.println(++j);

    }

}

二、字符和字符串参与+运算

•字符参与运算

–其实是拿该字符对应的数值来操作(unicode码)

–‘a’  97

–‘A’  65

–‘0’  48

•字符串参与运算

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

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

代码演示:

package com.yunsuanfu;
/**
 * 字符运算
 * @author 无限嚣张(菜菜)
 *
 */
public class CharDemo {

    public static void main(String[] args) {
        char a='a';
        char b='1';
        System.out.println(a>b);
    }

}

字符串拼接

代码演示

package com.yunsuanfu;
/**
 * 字符串加法,字符串拼接
 * @author 无限嚣张(菜菜)
 *
 */
public class StringAddDemo {

    public static void main(String[] args) {
        String a = "我";
        String b = "是";
        String c = "程序员";
        System.out.println(a+b+c+"!");

    }

}

赋值运算符

  • 基本的赋值运算符:=
  • 扩展的赋值运算符:+=,-=,*=,/=,…

代码演示

package com.yunsuanfu;
/**
 * 扩展运算符
 * @author 无限嚣张(菜菜)
 *
 */
public class Zhangfei {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int i = 10;
        int j = i +1;
        j += 1; //相当于j = j+1;
        System.out.println(j);
        

    }

}

关系运算符

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

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

  • 注意事项

           –关系运算符“==”不能误写成“=” 。
    

代码演示

package com.yunsuanfu;
/**
 * Eclipse小技巧
 * Ctrl+shift+F 格式化代码
 * @author 无限嚣张(菜菜)
 *
 */
public class GuanXiYunSanFu {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a = 1;
        int b = 2;
        System.out.println("a==b:?");   // 字符串不能和true和false做拼接
        System.out.println(a==b);
        System.out.println("a<=b:?");
        System.out.println(a<=b);

    }

}

逻辑运算符(比较重要,也比较烧脑,多练习)

  • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 && x<6 。

  • &,|,^,!

  • &&,||

  • “&”和“&&”的区别:

      单&时,左边无论真假,右边都进行运算;
    
      双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
    
      “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
    

代码演示

package com.yunsuanfu;

/**
 * Eclipse小技巧 Ctrl+shift+F 格式化代码
 * Eclipse小技巧 Ctrl+shift+/ 注释多行代码
 * @author 无限嚣张(菜菜)
 *
 */
public class GuanXiYunSanFu {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        /*
         * int a = 1; int b = 2; System.out.println("a==b:?"); // 字符串不能和true和false做拼接
         * System.out.println(a==b); System.out.println("a<=b:?");
         * System.out.println(a<=b);
         */
        boolean a = true;
        boolean b = false;
        boolean c = true;
        boolean d = false;
        /**
         * 单与
         */
        System.out.println("***********************************************");
        System.out.println(a&b);  //看两个是不都是true,都是true,返回true,否则返回false
        System.out.println(a&c);  //看两个是不都是true,都是true,返回true,否则返回false
        System.out.println(b&c);  //看两个是不都是true,都是true,返回true,否则返回false
        System.out.println(b&d);  //看两个是不都是true,都是true,返回true,否则返回false
        /**
         * 双与
         */
        System.out.println("***********************************************");
        System.out.println(a&&b);  //判断第一个,如果是true,再判断第二个,如果是false,直接返回false,如果是true,返回true
        System.out.println(a&&c);  //判断第一个,如果是true,再判断第二个,如果是false,直接返回false,如果是true,返回true
        System.out.println(b&&c);  //判断第一个,如果是true,再判断第二个,如果是false,直接返回false,如果是true,返回true
        System.out.println(b&&d);  //判断第一个,如果是true,再判断第二个,如果是false,直接返回false,如果是true,返回true
        
        /**
         * 单或;除非两个都是false,才返回false,否则返回true
         */
        System.out.println("***********************************************");
        System.out.println(a|b); 
        System.out.println(a|c);  
        System.out.println(b|c);  
        System.out.println(b|d);  
        /**
         * 双或;有一个true,返回true
         */
        System.out.println("***********************************************");
        System.out.println(a||b); 
        System.out.println(a||c);  
        System.out.println(b||c);  
        System.out.println(b||d);  
        /**
         * 异或;当两个相同返回false,不同返回true
         */
        System.out.println("***********************************************");
        System.out.println(a^b); 
        System.out.println(a^c);  
        System.out.println(b^c);  
        System.out.println(b^d);  
        /**
         *非
         *返回的是相反的
         */
        System.out.println("***********************************************");
        System.out.println(!a); 
        System.out.println(!b);  
        System.out.println(!c);  
        System.out.println(!d);  
    }

}

三元运算符

格式

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

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

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

示例:

 获取两个数中大数。

int x=3,y=4,z;

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

代码演示

package com.yunsuanfu;

public class Sanyuan {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int x = 3;
        int y = 4;
        //int z = (x>y)?x:y;
        int z;
        if(x>y) {
            z = x;
        }else {
            z = y;
        }
        System.out.println(z);
    }

}

键盘录入

  • 键盘录入数据概述

     我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。
    
  • 如何实现键盘录入数据呢?(目前先记住使用)

  1. 导包(位置放到class定义的上面)——import java.util.Scanner;
  2. 创建对象——Scanner sc = new Scanner(System.in);
  3. 接收数据——int x = sc.nextInt();

代码演示

package com.demo;

import java.util.Scanner;

/*
 * 引包的快捷键:Ctrl+shift+O
 * 为了提高程序的灵活性,我们把数据改为键盘录入
 * 如何实现键盘录入呢?目前使用JDK提供的Scanner.
 * 使用步骤,记住即可
    
  
  使用步骤
          A:导包
              import java.util.Scanner;
              类中的顺序:package > import > class
          B:创建对象
              Scanner sc = new Scanner(System.in);
          C:接受数据
              int i = sc.nextInt();
 */

public class ScannerDemo {
    public static void main(String[] args) {
        //创建键盘录入数据
        Scanner sc = new Scanner(System.in);
        
        //接受数据
        System.out.println("请录入一个整数:");
        int i = sc.nextInt();
        
        //输出数据
        System.out.println("i:"+i);
    }
}

键盘录入数据练习

  1. 键盘录入两个数据,并对这两个数据求和,输出其结果
  2. 键盘录入两个数据,获取这两个数据中的最大值
  3. 键盘录入两个数据,比较这两个数据是否相等
  4. 键盘录入三个数据,获取这三个数据中的最大值

1.键盘录入两个数据,并对这两个数据求和,输出其结果

package com.demo;

import java.util.Scanner;

/*
 * 键盘录入两个数据,并对这两个数据求和,输出其结果
 * 
 * 键盘录入
 *         A:导包
 *         B:创建对象
 *         C:接受数据
 */
public class ScannerTest {
    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();

        // 对数据进行求和
        int sum = a + b;
        System.out.println("sum:" + sum);
    }
}

2.键盘录入两个数据,获取这两个数据中的最大值

package com.demo;

import java.util.Scanner;

/*
 * 键盘录入两个数据,获取这两个数据中的最大值
 * 
 * 键盘录入
 *         A:导包
 *         B:创建对象
 *         C:接受数据
 */
public class ScannerTest {
    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();

        //获取这两个数据中的最大值
        int z;
        if(a>b) {
            z = a;
        }
        else {
            z = b;
        }
        System.out.println("z:" + z);
    }
}

  1. 键盘录入两个数据,比较这两个数据是否相等
package com.demo;

import java.util.Scanner;

/*
 * 键盘录入两个数据,比较这两个数据是否相等
 * 
 * 键盘录入
 *         A:导包
 *         B:创建对象
 *         C:接受数据
 */
public class ScannerTest {
    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();

        //获取这两个数据中的最大值
        boolean z;
        if(a==b) {
            z = true;
        }
        else {
            z = false;
        }
        System.out.println("z:" + z);
    }
}

4.键盘录入三个数据,获取这三个数据中的最大值

package com.demo;

import java.util.Scanner;

/*
 * 键盘录入三个数据,获取这三个数据中的最大值
 * 
 * 键盘录入
 *         A:导包
 *         B:创建对象
 *         C:接受数据
 */
public class ScannerTest3 {
    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);
    }
}


本文转载自: https://blog.csdn.net/zywcxz/article/details/128749619
版权归原作者 无限嚣张(菜菜) 所有, 如有侵权,请联系我们删除。

“Java基础语法——运算符与表达式”的评论:

还没有评论