小白学Java01:Java基础

小白学Java01:Java基础

  • 基础数据类型
    • 整数数据类型
      • byte(字节型)
      • short(短整型)
      • int(默认型)
      • long(长整型)
    • 浮点数据类型
      • float(单精度)
      • double(双精度)
    • 逻辑数据类型
      • boolean(布尔类型)
    • 字符型
      • char(单字符类型)
    • 知识点
  • 数据类型的转换
    • 显示转换
    • 隐式转换
    • 小知识
  • 运算符
    • 算数运算符
    • 赋值运算符:
    • 复合赋值运算符
    • 逻辑运算符
        • 短路与:&&
        • 非短路与:&
        • 短路或:||
        • 非短路或:|
      • 非 !
    • 位运算符:
      • 按位与 ( x & y )
      • 按位或 ( x | y )
      • 按位取反( ~x )
      • 按位异或( x^y )
      • 左移( x<<2 )
      • 右移( x>>2 )
  • 小知识:
    • 异或加密

基础数据类型

整数数据类型

  • byte(字节型)

    1字节,8位(8比特)
    范围:-27 到27-1

  • short(短整型)

    2字节,16位(16比特)
    范围:-215到215-1

  • int(默认型)

    4字节,32位(32比特)
    范围:-231到231-1

  • long(长整型)

    8字节,后跟L或l,64位(64比特)
    范围:-263到263-1

浮点数据类型

  • float(单精度)

    4字节,后跟F或f,32位(32比特)
    范围:-10-38到10-38,到1038
  • double(双精度)

    4字节,后跟F或f,32位(32比特)
    范围:-10-38到10-38,到1038

逻辑数据类型

  • boolean(布尔类型)

    1字节,值只有两个,true或者false

字符型

  • char(单字符类型)

    2字节 16位。最高位不用符号来表示
    范围:0到216 -1 (0 ~65535)

知识点

  1. 整型的第一位是符号位,0为正,1为负
  2. 数在计算机中的都是用补码来保存的,
    正数的补码就是原码,负数的补码是原码取反+1
    例:8的原码(补码)为:0000 1000
    -8 的补码为,1111 0111+1 = 1111 1000

数据类型的转换

  • 显示转换

    通过使用转换可以将一个表达式强制转换成某一种类型,是一元运算符。
    转换的通用语法是:
(type) cast    
		type : 任意有效的 java 数据类型
例如:
	int i = 10short s = (int)i;
  • 隐式转换

    整型、实型、字符型数据可以混合运算。
    运算中,不同类型的数据先转化为同一类型,
    然后进行运算,转换从低级到高级:

    低---------------------------->高
    byte, short, char > int > long > float > double

小知识

1.容量大的类型转化为容量小的类型时必须强制转换
2.浮点数到整数的转换是通过舍弃小数得到,不是四舍五入
3.转化过程中可能会导致溢出或损失精度

运算符

  • 算数运算符

+	: 加
-	:减
*	:乘
/	:除     
%	:取余
i++	:自增(i++:先计算整个表达式的值,然后自增
++i:先计算自增,在计算整个表达式的值)
i--	:自减(i--:先计算整个表达式的值,然后自减
--i:先计算自减,在计算整个表达式的值)
  • 赋值运算符:

=:  变量名=表达式
  • 复合赋值运算符

运算符 表达式   计算      结果(假设 X=10+=     X += 5  X = X + 5  15 
-=     X -= 5  X = X - 5  5 
*=     X *= 5  X = X * 5  50 
/=     X /= 5  X = X / 5  2 
%=     X %= 5  X = X % 5  0 

逻辑运算符

  • 当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。
    • 短路与:&&

      如果第一个表达式为假时,此时短路,不计算第二个表达式,直接返回假
    • 非短路与:&

      无论如何,两个表达式都将被执行
  • 当表达式1或者表达式2其中之一为真时,运算结果为真,
    • 短路或:||

      如果第一个表达式为真时,此时短路,不计算第二个表达式,直接返回真
    • 非短路或:|

      无论如何,两个表达式都将被执行
  • 非 !

    当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。

位运算符:

  • 按位与 ( x & y )

    如果两个操作数的相应位均为 1,则该位的结果值为 1
  • 按位或 ( x | y )

    如果两个操作数的相应位有一个为 1,则该位的结果值为 1
  • 按位取反( ~x )

    将操作数按位取反(0 到 1 和 1 到 0)
  • 按位异或( x^y )

    如果参加运算的两个操作数的相应位同号,则结果为 0,异号则为 1
  • 左移( x<<2 )

    左端(高位)移出部分舍弃,右端(低位)补0
  • 右移( x>>2 )

    右端(低位)移出部分舍弃,左端(高位)根据符号位补0或者1,无符号或正数补0,负数补1

小知识:

  • 异或加密

    一个数被同一个数异或两次后数值不变,利用异或可以实现简单的数值加密
char ch1='你', ch2='好';
char sr='r';
ch1= (char) (ch1^sr);
ch2= (char) (ch2^sr);
System.out.println("加密后:"+ch1+ch2);
ch1=(char) (ch1^sr);
ch2=(char) (ch2^sr);
System.out.println("解密后:"+ch1+ch2);

你可能感兴趣的:(学习笔记,java)