微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java笔记-数据类型.运算符

java

数据类型

byte 8

short 16

int 32

long 64

float 32

double 64

char 16

boolean 不算入

 

取值大小


byte < short < int < long < float < double (char,boolean不存在取值)

 

变量


什么是变量:

  1. 可以存储数据的量

  2. 这个量的值是可变的

语法: 数据类型 变量名称 = 值;

  1. 可以没有初始化

  2. 在运算的过程中必须有值

    注意点:
       float, double , long  必须在数值的后方加入一个标识
       float : F
       double : D
       long : L

       char 有且只能有一个字符, 并且要使用单引号引入

取值范围


byte类型的最大值:127 最小值:-128

short类型的最大值:32767 最小值:-32768

int类型的最大值:2147483647 最小值:-2147483648

long类型的最大值:9223372036854775807 最小值:-9223372036854775808

float类型的最大值:3.4028235E38 最小值:1.4E-45

double类型的最大值:1.7976931348623157E308 最小值:4.9E-324

char类型的最大值:忽略最大值 最小值:忽略最小值

boolean类型没有取值范围,它只有两个值

 

类型转换


自动类型转换:

小转大 左侧类型必须要大于右侧类型

short s = 100;  int i = s;

 

强制类型转换:

大转小 左侧类型必须要与右侧类型保持一致才行

 float f = 100F;  int i = (int)f;

 

大小对比

byte < short < int < long < float < double (char,boolean不存在取值)

 

Scanner


固定写法: Scanner s = new Scanner(system.in);

Scanner s = new Scanner(system.in);
System.out.print("请输入一句话:");
String str = s.next();
System.out.println("您输入的结果是:"+str);

next(); 传入的是String类型,如果遇到空格,后面的数据将会消失

nextLine(); 可以输出带空格的字符串

nextInt(); 只能传入int类型不能传入字符串

nextBoolean(); 传入boolean类型

nextByte(); 传入byte类型

nextShort(); 传入short类型

nextFloat(); 传入float类型

nextDouble(); 传入double类型

nextLong(); 传入long类型

 

运算符


算术运算符

'+' 两数相加

'-' 两数相减

'*' 两数相乘

'/' 两数相除

'%' 两数相除(取余)

'++' (在原有数值的基础上+1)

'--' (在原有数值的基础上-1)

如果++运算符 在变量的前方 则先运算后运行

如果++运算符 在变量的后方 则先运行后运算

如果--运算符 在变量的前方 则先运算后运行

如果--运算符 在变量的后方 则先运行后运算

 

赋值运算符

'=' 赋值号 把右侧赋值给左边

'+=' 把右侧的值与左侧的值相加,相加的结果赋值给左侧 ' -=' 把右侧的值与左侧的值相减,相减的结果赋值给左侧 '*=' ' /=' '%='

 

关系运算符

'>' 大于

'<' 小于

'>=' 大于等于

'<=' 小于等于

'==' 等于

'!=' 不等于

(关系运算符中,所返回的数据是布尔类型)

 

逻辑运算符

&& 双与(与) 关系运算1 && 关系运算2

左右两侧必须同时是true时, 才会返回true, 如果关系运算1 为false, 则进行短路, 右侧不再执行 返回false

        int a = 10;
       int b = 20;
       int c = 30;
       
       // &&       false && false
       boolean b1 = a > b && a > c ;
       System.out.println(b1); //false
       //           true && false
       boolean b2 = a < b && a > c ;
       System.out.println(b2); //false
       //           true && true
       boolean b3 = a < b && b < c ;
       System.out.println(b3); //true

 

 

|| 双或(或) 关系运算1 || 关系运算2

左侧两侧任意一侧为true时 ,则 返回true, 如果两个关系运算都为false,则为false

        // ||         false      ||     true
       boolean b4 = (a + b) > c || (a + c) > b;
       System.out.println(b4); //true
       //           false     ||     false
       boolean b5 = (a + b) < c || (a + c) < b;
       System.out.println(b5); //false
       //           true       ||   true
       boolean b6 = (a + b) == c || (a + c) > b;
       System.out.println(b6); //true

 

 

! 取非(非) 取相反的结果

它的运算表达式必须是一个布尔类型

        System.out.println(!true); //false
       System.out.println(!false); //true
       System.out.println(!(a + b == c)); //false

 

(逻辑运算符: 返回的值的类型也是布尔类型)

 

三元运算符

数据类型 变量名称 = 条件表达式 ? 值1 : 值2;

条件表达式 如果为true, 则会把值1赋值给变量 并且变量的数据类型由值1来决定

        int a = 10;
       int b = 20;

//a<b为true, 所以输出值1  
       String s = a < b ? "值1" : "值2";
       System.out.println(s); //值1

 

条件表达式 如果为false, 则会把值2赋值给变量, 并且变量的数据类型由值2来决定

		//a<b为false, 所以输出值12	
		String s1 = a > b ? "值1" : "值2";
        System.out.println(s1); //值2
 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐