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

目录

Eclipse下载 安装 使用

运算符

键盘录入

Eclipse下载 安装 使用

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

          (1)免费

        (2)纯Java语言编写

        (3)免安装

        (4)扩展性强  

  • 下载和安装

        (1)下载 The Community for Open Innovation and Collaboration | The Eclipse Foundation

        (2)安装  绿色版  解压就可以使用(Eclipse)  

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

 Java基础语法——运算符与表达式_第1张图片 

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

 Java基础语法——运算符与表达式_第2张图片 

③下载下列安装包

 Java基础语法——运算符与表达式_第3张图片 

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

 Java基础语法——运算符与表达式_第4张图片 

⑤解压并且安装

 Java基础语法——运算符与表达式_第5张图片 

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

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");

	}

}

 Java基础语法——运算符与表达式_第6张图片 

关于Eclipse的小技巧:

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

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

 Java基础语法——运算符与表达式_第7张图片 

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

点击工作区Window-Perspective-Reset Perspective

 Java基础语法——运算符与表达式_第8张图片 

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

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

 Java基础语法——运算符与表达式_第9张图片    (4)行号的显示

点击右键,Show Line Numbers

 Java基础语法——运算符与表达式_第10张图片 

(5)自动保存和编译

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

 Java基础语法——运算符与表达式_第11张图片

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

}

Java基础语法——运算符与表达式_第12张图片

三元运算符

格式

     –(关系表达式)?表达式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);
	}
}

3. 键盘录入两个数据,比较这两个数据是否相等

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

 

 

你可能感兴趣的:(JAVA从基础到进阶,java,eclipse,开发语言)