运算符简述

1.算数运算符

操作符 描述 例子
+ 加法 - 相加运算符两侧的值 10 + 20 等于 30
- 减法 - 左操作数减去右操作数 10 – 20 等于 -10
* 乘法 - 相乘操作符两侧的值 10 * 20等于200
/ 除法 - 左操作数除以右操作数 20 / 10等于2
取余 - 左操作数除以右操作数的余数 20 / 20%10等于0
System.out.println( 100 + 20 );//120
System.out.println( 100 - 20 );//80
System.out.println( 100 * 20 );//2000
System.out.println( 100 / 20 );//5
System.out.println( 10 / 3 );//3
System.out.println( 5 / 2 );//2
//取余(%):获取前者除以后者剩下的余数
System.out.println( 100 % 20 );//0
System.out.println( 20 % 3 );//2,商是6,余数是2
System.out.println( 50 % 7 );//1

%的用法: 用于判断一个数是奇数还是偶数
整数值 % 2 结果为零, 则这个数一定是偶数
整数值 % 2 结果是1, 则这个数一定是奇数

2.关系运算符

操作符 描述 例子
== 如果两个操作数的值是否相等,如果相等则条件为真。 (10 == 20)为假。
!= 如果两个操作数的值是否相等,如果值不相等则条件为真。 (10 != 20) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (10> 20)为假。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (10 <20)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (10> = 20)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (10 <= 20)为真。
int a = 3;
int b = 4;
System.out.println( a*b == b*a ); //true(真)
System.out.println( a*b != b*a ); //false(假)
System.out.println( a > b ); //false(假)
System.out.println( a+1 >= b ); //true(真)
System.out.println( a+1 <= b ); //true(真)

3. 逻辑运算符

运算符简述_第1张图片
&& 一假必假 || 一真必真 短路规则
&和|和&&和||都是一样的,只不过后者具有短路能力

int a = 50;
int b = 40;
int c = 30;
System.out.println( a>b && b>c ); //true
System.out.println( a>b && b<c ); //false
System.out.println( a>b || b<c ); //true
System.out.println( a>b || b>c ); //true
System.out.println( a<b || b<c ); //false
!:对当前的结果取反,true取反就是falsefalse取反就是true
System.out.println( a>b && !(b<c) ); //true
System.out.println( !(a<b) || b<c ); //true

4.自增自减运算符

操作符 描述 例子
++ 自增: 操作数的值增加1 20++ 或 ++20 等于 21
自减: 操作数的值减少1 20-- 或 --20 等于 19

++: 在当前值的基础上自增1(加1)
int i = 5;
i++: 先使用(访问)i的值,再给i加1
++i: 先给i加1,再使用(访问i)的值
–: 在当前值的基础上自减1(减1)
i–: 和i++相同
–i: 和++i相同

int i = 5;
System.out.println( i++ ); //5
System.out.println( i ); //6
System.out.println( "--------------");
i = 5;
System.out.println( ++i ); //6
System.out.println( "--------------");
i = 5;
i++;
System.out.println( i ); //6
System.out.println( "--------------");
i = 5;
i = i++ + i++;
System.out.println( i ); //11
System.out.println( "--------------");
i = 5;
i = ++i + ++i; 
System.out.println( i ); //13
System.out.println( "--------------");

然后注意:
前缀自增自减法(++a, - -a): 先进行自增或者自减运算,再进行表达式运算。
后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算.

package com.tedu.a;

public class Testa {
	public static void main(String[] args) {
		int a = 5;//定义一个变量;
        int b = 5;
        int x = 2*++a;
        int y = 2*b++;
        System.out.println("自增运算符前缀运算后a="+a+",x="+x);
        System.out.println("自增运算符后缀运算后b="+b+",y="+y);
	}
}

运算符简述_第2张图片
自增自减案例

package cn.tedu.basic;
 
//这个类用来测试自增自减
public class Test5_Yunsuanfu {
    public static void main(String[] args) {
       //符号在前,先变化再使用
       //符号在后,先使用再变化
       int a = 1;
       System.out.println(a++);
       int b = 1;
       System.out.println(++b);
       System.out.println(++a+a+b++);//3+3+2
       int c = 1;
       System.out.println(c--);
       int d = 1;
       System.out.println(--d);
       System.out.println(--c-c-c--);//-1-(-1)-(-1)
    }
}

5. 三目运算符

格式 描述 例子
布尔表达式 ? 表达式1 : 表达式2 如果表达式结果是true,则返回值1,否则返回值2 3>1 ? 3 : 1结果为3
int x = 7;
int y = 9;
int z = x>y ? x : y; //x>y是true,返回x,x>y是false,则返回y;
System.out.println( z ); //9
x = 123;
y = 456;
String str = x*y > 56000 ? "YES" : "No";
System.out.println( str );

练习:两个数的最大值

package cn.tedu.basic;
 
import java.util.Scanner;
 
//这个类用来获取两个数中的大值
public class Test6_Max {
    public static void main(String[] args) {
       //1、接收键盘输入的两个整数
       int a = new Scanner(System.in).nextInt();
       int b = new Scanner(System.in).nextInt();
       //2、比较,用三元运算符比较  1 ?  2 :  3
       int max = a > b ?  a :  b;
       System.out.println(max);
    }
}

6.复合赋值运算符

格式 描述 例子
+= 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
-= 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
*= 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
/= 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C/=A,C与A同类型时等价于C=C/A
int x = 10;
x += 5; //和 x=x+5 效果相同
System.out.println( x ); //15
x = 10;
x -= 5; //和 x=x-5 效果相同
System.out.println( x ); //5
x = 10;
x *= 5; //和 x=x*5 效果相同
System.out.println( x ); //50
x = 10;
x /= 5; //和 x=x/5 效果相同
System.out.println( x ); //2
x = 10;
x %= 3; //和 x=x%3 效果相同
System.out.println( x ); //1

7.加号(+)

加号可以做加法运算(要求两边都得是数值),也可以做为拼接符使用(只要两边有一个是字符串

//1.加号两边都是数值,加号会执行加法运算(注意:char类型底层也是数值,范围是0~65535)
System.out.println( 10+5 ); //15
System.out.println( 'A'+1 );//65+1=66
System.out.println( 'a'+1 );//97+1=98
System.out.println( '中'-0 );//20013+1=20024
System.out.println( '国'+1 );//22269+1=22270
//2.加号可以做拼接符,将任意数据和字符串拼接,加号两边只要有一个是字符串,加号就会作为拼接符使用
-----------------------------------------------
String name = "张三";
String age = "28";
System.out.println( name+","+age );
System.out.println( "HelloWorld"+10+20+30 );//
System.out.println( "HelloWorld"+(10+20+30) );//

判断下面的输出结果

System.out.println( "a"+1+2+3 );//
System.out.println( 1+"a"+2+3 );//
System.out.println( 1+2+"a"+3 );// 
System.out.println( 1+2+3+"a" );//
System.out.println( 1+2+3+'a' );//

8.作业讲解

牛郎织女星相距:16.4 光年
光速:299792458 米/秒
喜鹊身长:0.46 米
牛郎织女相会,需要多少只喜鹊?
提示:
1)先计算1光年的距离是多少米(注意整数溢出问题)
2)再计算16.4光年的距离是多少米
3)用牛郎织女之间的距离,除以每只喜鹊的长度,就是喜鹊的数量

public static void main(String[] args) {
	//声明一个变量, 保存一秒光的距离
	int light = 299792458; //秒
	//再声明变量,保存喜鹊的身长
	double height = 0.46; //米
	//声明变量保存牛郎织女星之间的距离
	double distance = 16.4; //光年
	//先计算1光年的距离是多少米(注意整数溢出的问题)
	double lightYear = light * 60L * 60 * 24 * 365;
	//再计算16.4光年的距离是多少米
	double distance2 = distance * lightYear;
	//再用牛郎织女之间的距离, 除以每只喜鹊的长度, 就是喜鹊的数量
	System.out.println( distance2 / height );
	//System.out.println( 299792458L*60*60*24*365*16.4/0.46);
}

9.引用数据类型(入门)

9.1.简介

引用数据类型包括类、接口、数组类型。
数组会在之后的两天内进行讲解,而类和接口会在面向对象部分进行详细讲解!

9.2.String

后面会讲解类、接口以及数组类型,这里先简单的介绍一个类 —— String 类。通过String类可以定义一个字符串。所谓的字符串就是指一连串的字符,即字符串是由若干个字符连接而成的串。字符串中可以包含任意个字符,无论是0个、1个还是多个字符,这些字符必须包含在一对双引号("")之内

"" //空字符串
" " //由空格组成的字符串
"a" //由a组成的字符串
"abc" //由abc组成的字符串
"123abc" //由123abc组成的字符串
"HelloWorld" //由HelloWorld组成的字符串

字符串可以直接使用:

System.out.println( "abc"+10+10 ); //abc1010

也可以先声明再使用:

String name = "张飞";
String age = "30";
String addr = "北京";
System.out.println( name+","+age+","+addr );

为String类型的变量赋值可以通过以下两种方式:
1)方式一:即上面用到的字符串字面量形式 为 字符串变量赋值

String name2 = "张飞";

2)方式二:使用new对象的形式 为 字符串变量赋值

String name3 = new String("张飞");

你可能感兴趣的:(Java,java)