Java基础篇(标识符、关键字、数据类型、运算符、类型转换、注释方法、扫描器)

一、Java标识符命名规范

        标识符:用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列;

       合法的标识符:----字母、数字、下划线‘_’、美元符号‘$’组成;不能用数字开头,不能用关键字,对大小写敏感;

       例:helloWord 、DateClass、_12345、$B25_C7等;

二、Java关键字

       有一些专门的词汇,Java已经赋予了特定的含义,只能用于特定的地方,不能用这些词汇来定义标识符,

不能改变这些词汇的含义;

      

三、Java的八种数据类型

       整数类型:byte 、short 、int 、long

       浮点数类型:float 、double

       布尔类型:Boolean

       字符类型:char

       数据类型应用:在声明变量时,要指明变量的类型,不同的类型在内存中分配的空间大小也不同

       

四、运算符

       定义:用来表示数据的运算、赋值和比较

       分类:算数运算符,赋值运算符,比较运算符,逻辑运算符,位运算符

       1、算数运算符

             

      2、赋值运算符

             例:int a=2;int b=a+1等

             

             3、比较运算符

               

           4、逻辑运算符

                

       5、位运算符

        分为按位运算符和移位运算符

        (1)、按位运算符

           按位运算符是来操作整数基本数据类型中的单个“比特”(bir),即二进制位,位运算符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

1、“与”、“位与”(&)

        按位“与”操作符,如果两个数的二进制,相同位数都是1,则该位结果是1,否则是0.

  例1 5&4

        5的二进制是  0000 0000 0000 0101

        4的二进制是  0000 0000 0000 0100

        则结果是        0000 0000 0000 0100  转为十进制是4。

2、“或”、“位或”(|)

        按位“或”操作符,如果两个数的二进制,相同位数有一个是1,则该位结果是1,否则是0

  例2  5 | 4

        5的二进制是  0000 0000 0000 0101

      4的二进制是  0000 0000 0000 0100

        则结果是        0000 0000 0000 0101  转为十进制是5。

3、“异或、“位异或”(^)

        按位“异或”操作符,如果两个数的二进制,相同位数只有一个是1,则该位结果是1,否则是0

  例3  5 ^ 4

        5的二进制是  0000 0000 0000 0101

        4的二进制是  0000 0000 0000 0100

        则结果是        0000 0000 0000 0001 转为十进制是1 

4、“非”、“位非”(~)也称为取反操作符

        按位“非”操作符,属于一元操作符,只对一个操作数进行操作,(其他按位操作符是二元操作符)。按位“非”生成与输入位相反的值,——若输入0,则输出1,若输入1,则输出0。

  例4  ~5

        5的二进制是  0000 0000 0000 0101

        则~5是           1111 1111 1111 1010  转为十进制是 -6。

        这里出现负数,强行插入一波^_^。

        电脑的的世界中只有0和1,那么负数怎么表示呢?

        二进制的正负是从高位看,最高位如果1则是负数,如果是0则是正数。

        如果负数单纯是把最高位变为1的话,在运算中会出现不是我们想要的值,所以引入了:原码,反码,补码。正数的原码,反码,补码都一样,负数的反码是对除了符号位(最高位)对原码取反,补码是对反码+1

        负数的二进制转化,计算机计算是用的补码

1、首先取出这个数的原码的二进制,

2、然后再求出反码

3、最后求出补码

  例5  -5

        -5的原码是                1000 0000 0000 0101

        求出反码的是            1111 1111 1111 1010

        求出补码是                1111 1111 1111 1011

--------------------- 本文来自 mxiaoyem 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/mxiaoyem/article/details/78569782?utm_source=copy

        移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。

 (2)移位运算符

移位操作符操作的运算对象也是二进制的“位”。移位操作符只可用来处理整数类型,左移位操作符(<<)能按照操作符右侧指定的位数将操作符左边的操作数向左移动(在低位补0),“有符号”右移位操作符(>>)则按照操作符右侧指定的位数将操作符左边的操作数向右移。“有符号”右移位操作符使用“符号扩展”;若符号位正,则在高位插入0;若符号位负。则在高位插入1。java中增加了一种“无符号”右移位操作符(>>>),他使用“零扩展”;无论正负,都在高位插入0。这一操作符是C或C++中所没有的。

  例6  5<<2 等于20

        5的二进制是   0000 0000 0000 0101

        左移两位         0000 0000 0001 0100

  例7  5>>2 等于 1

        5的二进制是   0000 0000 0000 0101

        右移两位         0000 0000 0000 0001

  例8  -5>>2 等于 -2

        -5的二进制是   1111 1111 1111 1011

        右移两位          1111 1111 1111 1110 转十进制,例5反着来,先-1,然后取反

        如果对char、byte或者short类型的数值进行移位处理,那么在移位进行之前,它们会被转为int类型,并且得到结果也是一个int类型的值,只有数值右端的底5位才有用,这样可防止我们移位超过int类型所具有的位数,(因为2的5次方位为32,而int类型只有32位)。若对一个long类型的数值进行处理,最后得到结果也是long类型,此时只会用到数值右端的底6位,以防止移位超过long类型数值具有的位数。

        “移位”可与“等号”(<<=或>>=或>>>=)组合使用。此时,操作符左边的值会移动由右边的值指定的位数,再将得到的结果赋值给左边的变量。但在进行“无符号”右移位结合赋值操作时,可能会遇到一个问题,如果对byte或short值进行这样的移位运算,得到的可能不是正确的结果。他们会先被转换成int类型,再进行右移操作,然后被截断,赋值给原来的类型,在这种情况下可能得到-1的结果

五、Java类型转换

1、自动类型转换

将一种类型的变量赋给另一种类型的变量时,只要满足以下条件,就可以自动转换类型

(1)两种类型兼容

(2)目标类型大于原类型   Byte~short~char~int~long~float~double

2、强制类型转换

强制转换用于显式类型转换。如果被转换的值的数据类型大于其目标类型就会丢失部分信息。

类型强制转换使程序将变量视为某种类型,尽管此变量中包含的是另一类型的数据。

由高----低示例:

char c=‘’;

int b = (int) c;// c 转换为整型

例如:

§char a=‘‘;  System.out.println(a);

§int b =(int)a;  System.out.println(b);22909

六、注释方法

1//注释一行

2/*注释中间所有内容*/

3/**

       *备注注释

      */

七、Java扫描器

        定义声明:

       Scanner sc = new Scanner(System.in);

       java.util包下面

       使用方法:

       整数类型:int a =sc.nextInt();大写的i

       串类型:String s=sc.next();

       字符类型:char c=sc.next().charAt(0);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值