java中的运算符与类型转换

类型转换: 

 从小到大的排序 自动类型转化(隐式转换)
  小的数据类型与大的数据类型进行运算的时候,结果会自动转化大的类型
  byte char short -->int -->long -->float -->double
  注意事项:byte char short 相互之间不转换 他们参与运算首先转换为int类型

格式:范围大的数据类型 变量 = 范围小的数据类型值

强制类型转换(显示转换)
  可以忍受精度缺失的情况下 可以把大类型的数据强制转化成小类型的数据
格式:范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型

运算符的概念:  

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

表达式的概念:

  用运算符把常量连接起来符合java语法的式子就可以称为表达式

  常用的运算符:算术运算符 赋值运算符 关系运算符 逻辑运算符 三元运算符

算数运算符: + - * / % ++ --
在java中两个int型数据进行除法运算得到的结果也是int 直接砍掉小数点

代码演示:
public static void main(String[] args) {

  int a = 10;
  int b = 20;

  System.out.println(a + b); // 30
  System.out.println(a - b); // -10
  System.out.println(a * b);// 200
  System.out.println(a / b);// 0
  System.out.println(1/2.0);//0.5
  System.out.println(1/3);//0
  System.out.println(2/3);//0
  System.out.println("===========================");
  // 当字符串与数字中间使用+的时候 表示链接 最终得到一个新的字符串
  int d = 10;
  System.out.println("嘿嘿"+10);//嘿嘿10
  System.out.println("嘿嘿"+10+10);//嘿嘿1010
  System.out.println("嘿嘿"+(10+10));//嘿嘿20
  System.out.println(10+10+"嘿嘿");//20嘿嘿

  System.out.println("===========================");
  System.out.println(10%3);// 求余 取余数 (取模)
  System.out.println(7%2);// 1
  System.out.println("======================");
  // ‘a‘ ---> 97 ‘b‘---> 98
  // ‘A‘ ---> 65
  // ‘0‘---> 48
  System.out.println(‘a‘ + 10);// 107
  System.out.println(‘A‘ + 10);// 75
  System.out.println(‘0‘ + 10);// 58
  System.out.println((char)(‘a‘ + 1));//b

}

++运算符:

  当++ 运算符单独使用的时候 无论++符号在变量的左边还是右边 都表示对这个变量自增1
  当++运算符配合使用的时候, 如果++符号在变量的左边, 强调的是先改变(自增1)再配合,
  如果在变量的右边,强调先配合再改变(自增1)

-- 运算符:

当-- 单独使用的时候 无论--在变量的左边还是右边, 都表示对这个变量进行自减1
当-- 配合的使用的时候, 如果-- 在变量的左边, 强调的是先改变(自减1) 再配合,
如果在变量的右边,强调先配合再改变(自减1)
代码演示:
public static void main(String[] args) {

    int b = 10;
    System.out.println(b++);//10
    System.out.println(b);// 11
    System.out.println("==================");
    int c = 20;
    System.out.println(--c);// 19
    System.out.println(c);// 19

    int d = 30;
    System.out.println(d--);//30
    System.out.println(d);// 29
}

赋值运算符:

基本的赋值运算符:=
扩展的赋值运算符:+= -= *= /= %=
把左边和右边的结果赋值给左边
注意:左边不能是常量
隐含了一个强制类型转换
好处:更高效
代码演示:
public static void main(String[] args) {

  int a = 10;
  a+=2; // a = a + (2) --- > a = 10 + (2) ---> a = 12
  System.out.println(a);// 12

  int b = 20;
  b-=2; // b = b - (2) ---> b = 18
  System.out.println(b);//18

  short c = 10;
  //c = (short)(c + 10); // short = short + int ---> short = int
  c+=10;
  System.out.println(c);//20

}

关系运算符:

==(等于) !=(不等于) >(大于) <(小于) >=(大于等于) <=(小于等于)
关系运算符的都是boolean型 要么就是true 要么就是false
代码演示:
public static void main(String[] args) {
// TODO Auto-generated method stub
  int a = 10;
  int b = 20;
  int c = 10;

  System.out.println( a == b);// false
  System.out.println( a == c);// true
  System.out.println("======================");
  System.out.println( a != b);// true
  System.out.println( a != c);// false
  System.out.println("======================");
  System.out.println( a >= b);// false
  System.out.println( a >= c);// true
  System.out.println("======================");
  System.out.println( a <= b);// true
  System.out.println( a <= c);// true  
  System.out.println("======================");
  System.out.println( a > b); // false
  System.out.println( a > c);// false
  System.out.println("======================");
  System.out.println( a < b);// true
  System.out.println( a < c);// false
  System.out.println("======================");

}

逻辑运算符:

逻辑运算符用于连接布尔表达式 最终的结果值为布尔型
在java中不可以写成3<x<6 应该写成x>3&&x<6
与: & 运算规则: 如果两边有一边为false那整个表达式的结果就为false , 只有两边同时为true 结果才为true
或: | 运算规则: 如果两边有一个为true那整个表达式的结果就为true , 只有两边同时为false ,结果才为false
非: ! 运算规则: 真变假 假变真
异或: ^ 运算规则: 两边相同为false,不同为true
代码演示:
public static void main(String[] args) {

  System.out.println(true & true ); // T
  System.out.println(false & true );// F
  System.out.println(true & false );// F  
  System.out.println(false & false );// F
  System.out.println("=========================");
  System.out.println(true | true ); // T
  System.out.println(false | true );// T
  System.out.println(true | false );// T
  System.out.println(false | false );// F
  System.out.println("=========================");
  System.out.println(!true);// F
  System.out.println(!false);// T
  System.out.println("=========================");
  System.out.println(true ^ true ); // F
  System.out.println(false ^ true );// T
  System.out.println(true ^ false );// T
  System.out.println(false ^ false );// F

}

短路与: &&
短路或: ||
好处:效率更高
短路与: &&
  基本的运算规则跟 & 相似 , 区别在于 , 如果左边为false,右边不执行,直接把结果false
短路或: ||
  基本运算规则 跟 | 相似, 区别在于, 如果左边为true ,右边不执行, 直接把结果true返回
三元表达式:
表达式1 ? 结果1 : 结果2

执行流程:
先去计算表达式1的结果
如果结果为真 则返回结果1 , 否则 返回结果2
代码演示:(获取两个数中大数。)
(int x=3,y=4,z;z = (x>y)?x:y;//z变量存储的就是两个数的大数。)
public class Demo09Operator {
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 Demo10Operator {
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 Demo11Operator {
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);
  }

}

时间: 2024-11-05 22:47:59

java中的运算符与类型转换的相关文章

java中的++运算符

java中的++运算符 public class PlusPlusTest { /** * @param args */ public static void main(String[] args) { int a = 0; for (int i = 0; i < 10; i++) { a = a++; } System.out.println(a); } } 输出结果是0 解释:在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区. 语句istore_1是将堆

转:JAVA中各种字符编码类型转换

import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */public class ChangeCharset { /** 7位ASCII字符,也叫作ISO646-US.Unicode字符集的基本拉丁块 */ public static final String US_ASCII = "US-ASCII"; /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */ public static final

【Java中各运算符的用法】

Java的运算符可分为4类:算术运算符.关系运算符.逻辑运算符和位运算符. 1.算术运算符 Java的算术运算符分为一元运算符和二元运算符.一元运算符只有一个操作数:二元运算符有两个操作数,运算符位于两个操作数之间.算术运算符的操作数必须是数值类型. (1)一元运算符: 一元运算符有:正(+).负(-).加1(++)和减1(--)4个. 加1.减1运算符只允许用于数值类型的变量,不允许用于表达式中.加1.减1运算符既可放在变量之前(如++i),也可放在变量之后(如i++),两者的差别是:如果放在

Java 中的运算符和流程控制相关内容的理解

接着之前的运算符方面,今天主要回顾运算符的一些计算.优先级方面的内容,以及一些流程控制中if-else 方面的知识. 赋值运算符 (=.+=.-=.*=./=.%=.&=.|=.^=.<<= .>>=. >>>=) byte/short/char 可以参与运算 除了 = 以外,其余的符号都要求这个变量得先有值 注意:在 Java 中不支持连等定义但是支持连等赋值 int i = 5; i += i *= i -= 3; -> 15 i = 5 + (

Java 中位移运算符 &gt;&gt;,&gt;&gt;&gt;,&lt;&lt;

Java 中的三种位移运算符 java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >> 1,相当于num除以2 >>>    :     无符号右移,忽略符号位,空位都以0补齐 下面将使用代码进行测试:这里涉及到码的表示:原码.反码.补码.移码 原码:最高位表示符号位,剩余位表示数字,0表示正数,1表示负数 反码:正数的反码等于原码,负数符

java中的运算符

1算数运算符:+,-,*,/,% 2自增自减 :++ ,-- 3赋值运算符 : = ,+=,-=,*=,/= 4关系运算符 : >,<,>=,<=,== ,!= 逻辑运算符: & ,| ,! ,&& ,|| 位运算符:它是对二进制位进行计算. 位运算符是可以对十进制的整数进行计算,计算方式:将十进制转为二进制进行计算. 二进制由0和1组成,所以计算的结果要么是0,要么是1 1.5位运算符的符号: & (与):两者都是1的时候我就是一,其他都是0 |(

Java中的&lt;&lt; &gt;&gt;运算符操作细节

int i = 16; System.out.println(i>>2); 结果是4. int i = 16; System.out.println(i>>32); 结果是16. 通常我们都把m>>n理解为当前值m除以2的n次方,同理<<是乘,但我们注意到当某一个数>>32时,结果是它本身,原因就在于位移操作符右边的参数要先进行模32的运算. 例如上述的i>>2,实际上 temp = 2%32 = 2;    i / temp^2;

Java语言中的----运算符

day05 Java语言中的----运算符 一.运算符概述: 运算符的使用在每一门开发语言中都会使用到,在不同的语言中也会有不同的使用规则.通过运算符我们可以联想到MySQL数据库中的运算符,这些都是差不多的,可能有些在使用上是不一样的.下面就来看看Java中的运算符. 二.运算符: 1.算术运算符: 主要包含:加.减.乘.除.取余(%).自加(++).自减(--) 2.赋值运算符: 就是等号(=) 3.位运算符: 主要包含:&.|.~.^.<<.>>.>>&g

java中运算符详解

前言 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.JAVA中常见的运算符有很多种,大致分为以下几种,常见的几种运算符如下图: 算术运算符 加.减.乘.除.求余.例++.--.%./.  赋值运算符 为变量或常量起到赋值作用的.例如=.+=.*= 关系运算符 判断数据大小的,结果为一个布尔值.例如>.>=.!=.== 逻辑运算符 进行逻辑运算,运算的成员为布尔值,结果也为布尔值.例如&&.||.!. 条件运算符 也称三目运算符,表达式为(a<b)?a:b