美洲杯外围下注_美洲杯投注导航_[所有网址]

美洲杯外围下注_美洲杯投注导航_[所有网址]是该公司为打造信誉第一,2014最新体验金,美洲杯外围下注_美洲杯投注导航_[所有网址]这里的所有老虎机游戏及真人百家乐游戏都具有欧洲风格,致力成为最具传播力和互动性的娱乐城网站。

数据类型的转换

2019-05-29 09:18 来源:未知

 

    byte b1=1;
    byte b2=2;
    byte b3=b1 b2;
    System.out.println(b3);//报错

本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

转载请注明 出自 : luogg的博客园 谢谢配合!

原码:原数的二进制码,反码:原码的各个位取反(符号位除外),补码:反码加1

负数在计算机是如何存储的
负数的最高位是1,正数的最高位是0
负数在计算机中储存的是补码

java中名称命名规范

  • 包名:多单词组成时所有字母都小写:xxxyyyzzz
  • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
    int myInt = 1;
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

  3.字符串与基本数据类型之间的运算:只能是连接运算 其它数据类型与之运算,结果也为字符串型!
     例: String a = "abcd"; double b = 1234; System.out.println("a b"); 结果:abcd1234(字符串类型)

int i=10;
java编译器在编译的过程中可以监测到一个常量的值而不能检测到变量的值,因为一个变量在java虚拟机运行到该变量语句的时候才在内存中开辟对应的空间,编译的时候并不会开辟内存空间。
byte b=10;
System.out.println(b);

基本数据类型转换

  • 自动类型转换:当容量小的数据和容量大的数据做运算时,容量小的数据会自动转换为容量大的数据。

    char,byte,short==>int==>long==>float==>double

  • 强制类型转换:容量大的转换为容量小的,要使用强制类型转换。

long l1=12345L;
int i1=(int)l1;

强制类型转换的问题:导致精度损失。

  • [x] String类型的字符串与基本数据类型之间的运算:只能是连接运算 。得到的结果仍然是一个字符串。
String str="abc";
int i1=12345;
String str2=str i1;//abc12345;


美洲杯竞猜网址,解决方案:最后一个byte改成int
或byte b3=(byte)(b1 b2)
数据类型转换要注意的细节:
1.凡是byte、short、char数据类型数据在运算的时候,会自动转换成int类型在运算的。

原码、反码、补码

  • 对于正数,原码反码补码三码合一。
  • 反码:原码各个位除符号位外取反。
  • 补码:反码 1。
  • 不管正数还是负数,在底层都是以补码的形式存储的。

 

变量:

标示符

  • java对各种变量方法和类等要素命名时使用的字符序列称为标示符。
  • 凡是自己可以起名字的地方都叫标示符

 

(补码) 10000000-0000001=01111111
取反 1000000 -128

保留字

  • 现有java版本尚未使用,但以后版本会作为关键字使用.byValue,cast,future,inner,outer,var,goto,const

 

2.两个不同数据类型的数据在运算的时候,结果会取大的数据类型烦人数据。
int i=10;
long l=20;
int sum=(int)(i l);
System.out.println(sum);
//3.
System.out.println('a');//98 相当于int类型

位运算符

  • <<左移,左移几位,相当于成2的几次方
  • >> 右移,不足的用与最高位相同的数字补齐,0或1。
  • >>>:无符号右移,不足的都用0补全。
  • &:与运算,6&3=2;用2进制表示,上下相等用为1,否则为0。
  • |:或运算,6|3=7。用二进制表示,上下有一个为1,则为1。
  • ^:异或运算,6|3=5.用二进制表示,上下两边不一样时用1表示。
  • ~:反码。~6=-7。用二进制表示,直接各位取反。

    #### 交换两个元素的值

int m=5;
int n=10;

方法一:提供一个临时变量
        int temp;
        temp=m;
        m=n;
        n=temp;

方法二:当m和n较大时,有可能出现精度损失
        m=m n;
        n=m-n;
        m=m-n;

方法三:优点:没有上面两种方法的缺点。 缺点:难,想不到。
        m = m ^ n;
        n = m ^ n;//(m^n)^n=m
        m = m ^ n;//(m^n)^m

练习:以手动的方式,从控制台输出60的2进制8进制16进制
int i=60;
        //将十进制的数转换为二进制
        String binary=Integer.toBinaryString(i);
        System.out.println(binary);//111100
        //将十进制的数转换为八进制
        String octal=Integer.toOctalString(i);
        System.out.println(octal);//74
        //将十进制的数转换为十六
        String hex=Integer.toHexString(i);
        System.out.println(hex);//3c

**Lesson One                        2018-04-17  19:50:35
**

int i=128;(超出范围)//4个字节
byte b=(byte)i;//把i变量储存的值赋予给b 强制类型转换
System.out.println(b);//-128
*/
///

赋值运算符

  • =,-=,*=,/=,%=
short s=3;
        s=(short)(s 3);//不建议如此实现

        s =3;//既可以实现运算,又不会更改s的数据类型。
  • =为赋值符号。==为等号,判断左右是否相等。


声明变量名:
格式一:数据类型 变量名;
格式二:变量名1,变量名2··········;
java中的八种基本数据类型
整数
byte(字节) 8bit
short(短整型) 16bit
int(整型) 32bit
long(长整型) 64bit
小数
float(单精度浮点型) 32bit
double(双精度浮点型) 64bit
布尔
boolean 一个字节或者是四个字节,只有两个值true,false
字符
char 2个字节
变量选用原则:在能够满足需求的前提下,能使用小类型数据类型就是用小的数据类型,节省空间。
数据类型的转换:
小数据类型···········>大数据类型 自动转换
大的数据类型·············>小的数据类型 强制转换

算术运算符

  • (正号),-(负号), ,-,*,/,%(取模), ,--, (连接符)
  • i :先运算,后自增加1。
  • i:先自增加1,后运算
    int i1=10;
    int i2=i1  ;
    System.out.println(i1);//11
    System.out.println(i2);//10

    int i3=10;
    int i4=  i3;
    System.out.println(i3);//11
    System.out.println(i4);//11

int i5=10;
        int i6=i5--;
        System.out.println(i5);//9
        System.out.println(i6);//10

        int i7=10;
        int i8=--i7;
        System.out.println(i7);//9
        System.out.println(i8);//9

  强制类型转换格式:
        小数据类型  变量名=

逻辑运算符

  • &逻辑与:不管左边是ture还是false右边都会进行运算。
  • &&短路与:当左边为false时右边不进行运算。(建议使用&&,)
  • |逻辑或:左端为true时,右端继续做运算。
  • ||短路或:左端为true时,右端不再做运算。(建议使用||)
  • !逻辑非
  • ^逻辑异或:左右两边取值不一样的时候才为1。

  char; 只能表示 一个 字符(英文,中文,转义字符,符号等等)。
  char c = 'n';

※补码的运算步骤;
1.先获取负数的绝对值,然后得到绝对值的二进制(原码)
2.原码取反(反码)
3.反码 1=补码
7 00000111(原码)
取反
11111000(反码) 00000001=11111001(补码)
※由补码取原码步骤

关键字

  • 定义:被java语言赋予了特殊含义,用作专门用途的字符串。
  • 特点:关键字所有字母都小写。

变量的分类:
1.基本数据类型:
 整形:

-7············存储的二进制:11111001

三元运算符
  • 三元运算符:(条件表达式)?表达式1:表达式2;
  • 要求:表达式1与表达式2必须是同种数据类型。
  • 三元运算符可以转换为if-else,反之不成立。因为三元运算符必须有一个运算结果,而if-else不一定需要有运算结果。
    ```
    int i=10,j=20;
    int max=(i>j)?i:j;
    System.out.println(max);//20

    String str=(i>j)?"i大":"j大";
    System.out.println(str);//j大
    

int i1=10,j1=10;
String str1=(i1>j1)?"i1大":(i1==j1)?"相等":"j1大";
System.out.println(str1);//相等

//用三元运算符输出三个数中的最大值
int a=5,b=100,c=20;
int max1=(a>b)?a:(b>c)?b:c;
System.out.println(max1);//100
```

配置JAVA环境变量

///
class Demo2
{
public static void main(String[] args)
{
byte b=12;
short s=b;
int i=s;
long l=i;
System.out.println(l);
}
}

变量

  • 数据类型 变量名 = 初始化值;
  • 变量的作用域:一对{}之间

  2.强制类型转换:容量大的转换为容量小的,要使用强制类型转换符。(数据类型)变量 例:double a = 123; int b = (int)a; 
     可能存在的问题: 导致精度的损失

深入理解逻辑与和短路与的区别

boolean c=false;
        int c1=10;
        if(c&(c1  ) >0){
            System.out.println("今天是个好天气");
        }else{
            System.out.println("难得没有雾霾");//难得没有雾霾
        }
        System.out.println(c1);//11

        int c2=10;
        if (c&&(c2  )>0) {
            System.out.println("今天是个好天气");
        }else{
            System.out.println("难得没有雾霾");//难得没有雾霾
        }
        System.out.println(c2);//10

对于正数来说: 原码,反码,补码 三码合1

基本数据类型

  • 整型byte,short,int,long(L/l)
    byte 1字节(8byte), -128~127
    short 2字节,-2^15~2^15-1
    int 4字节,-2^31~2^31-1 , java1.7开始,加上前缀0b就可以写一个二进制数了,例如0b1001表示9
    long 8字节,-2^63~2^63-1
  • 浮点型float(F),double
    float 4字节
    double 8字节 **double/0 = Infinity(无穷)
  • 字符型char(只能表示一个字符,可以是英文中文标点,若要表示多个字符,用String)
    char c1='a';
    String str="abc";
  • 布尔型boolean

  • char类型还可以表示转义字符和unicode值

    char c1='n';
    char c2='t';
    char c3='u1234';

TAG标签:
版权声明:本文由美洲杯外围下注发布于系统,转载请注明出处:数据类型的转换