Java 自学日志【二】

本文详细介绍了Java语言的基础组成部分,包括关键字、标识符、常量、变量等核心概念,并深入讲解了数据类型、运算符及变量定义等内容。

java语言基础组成

java语言基础组成部分主要有:关键字,标识符,注释,常量,变量,运算符,语句,函数和数组!
---------------------------------------------------------------------------------------

1.关键字
概念:被java赋予了特殊含义的单词。关键字的字母都小写。

关键字的分类:
1.> 用于定义数据类型的:class , interface , byte , short , int , long , float , double , char , boolean , void;
2.> 用于定义数据类型值的:true , false , null ;
3.> 用于定义流程控制的:if ,else,switch,case,default,while,do,for,break,continue,return;
4.> 用于定义访问权限修饰符的:private,protected,public;
5.> 用于定义类,函数,变量修饰符的:abstract,final,static,synchronized;
6.> 用于定义类与类之间关系的:extends,implements;
7.> 定义建立实例以及引用实例判断实例的:new,this,super,instanceof;
8.> 用于异常处理的:try,catch,finally,throw,throws;
9.> 用于包的:package,import;
10.> 其他:native,strictfp,transient,voiatile,assert;

2.标识符

概念:程序中定义的一些名称。

组成规则:由26个英文字母,0-9,_ ,$组成,数字不能开头,不可以使用关键字,严格区分大小写。为了提高阅读            性,起名字尽量有意义。

java中的名称命名规范:

                 1.包名:多单词组成时所有字母都小写。e.g.:xxxyyyzzz;

                 2.类名接口名:多单词组成时,所有单词的首字母大写。e.g.:XxxYyyZzz ;

                 3.变量名和函数名:多单词组成时,第一个单词首字母小写,第二 个单词开始每个单词首字母大写。e.g.:xxxYyyZzz;

                 4.常量名:所有字母都大写。多单词时每个单词用下划线连接。e.g.:XXX_YYY_ZZZ;


3.常量与变量

3.1 常量:不能改变的数值。

分类:1,整数常量:所有整数
      2,小数常量所有小数
      3,布尔型常量较为特有,只有两个数值。true false。
      4,字符常量将一个数字,字母或者符号用单引号( ' ' )标识。
      5,字符串常量将一个或者多个字符用双引号标识。
      6,null常量只有一个数值就是:null。(用于引用数据类型)。


对于整数,java中有四种表现形式,分别是十进制,二进制,八进制,十六进制。
十进制:0-9,满十进一;
二进制:0,1,满二进一;8个二进制位是1个字节;
八进制:0-7,满八进一,用0开头表示;
十六进制:0-9,A-F,满十六进一;用0x开头;

进制之间的转换:

十进制转二进制,就是对十进制数进行除2运算。如十进制6转换成二进制,6/2=3 余0,  3/2=1 余1,1/2  余1  二进制就是 110;

十进制转换成其他进制,都是先转换成二进制,再通过二进制转换成其他进制;

二进制转八进制,用二进制位的三位表示八进制的一位,如如二进制 001 010 110 的八进制就是 246;

二进制转十六进制,用二进制位的四位表示十六进制的一位,如二进制   1101 0110 的十六进制表示就是 C6;

负数的二进制表现形式就是 对应的证书二进制取反再加1,负数的最高位都是1,正数的最高位都是0。

3.2 变量

概念:内存中的一个存储区域;该区域有自己的名称(变量名)和类型(数据类型);

             该区域的数据可以在同一类型范围内不断变化。

作用:用来不断存放同一类型的常量,并可以重复使用。

格式:数据类型  变量名=初始化值;如 int a =20;

注意:变量的作用范围(一对{ }之间有效);初始化值(不能超出范围);


数据类型:



                                                                     浮点型 (float,double)
                                                                   {
                                                     数值型{ 整数型 (byte,short,int,long)
                                                   {
                        基本数据类型{  字符型 (char)
                      {                            {
                    {                                布尔型(boolean)
数据类型 {  
                    {                                 类(class)
                      {                            {
                        引用数据类型{   接口(interface)
                                                    {
                                                      数组(arr[])


整数默认int,小数默认double。


byte:8个二进制位表示,取值范围-128~127
short: 16个二进制位表示,-2的15次幂~~2的15次幂-1;
int:32个二进制位表示,-2的31次幂~~2的31次幂-1;
long:超出int范围的;
float:单精度,占32个二进制位;
double:双精度,占64个二进制位;
char:取值范围0~~6535,占两个8位;
boolean:只有两个值,true,false;

什么时候定义变量??
当数据不确定时,需要对数据进行存储时。

数据类型转换:分为自动转换和强制转换。
表达式的数据类型自动提升,所有byte型,short型,char型的值都会自动提升为int型,在不强转的情况下;
如果一个操作数是long型,float型,double型,计算结果就是本身数据类型。

例如:byte a =3;
      b = b+2; 此时运算结果就会报错,因为它自动提升为int型,而损失精度,此时就要强制转换 b=(byte)(b+2);
另外要注意,上例中,b+=2和b = b+2是不同的,前表达式是一次运算,所以不会报错!

3.3 运算符

①算数运算符:+ ; - ; * ; /(除,整数除时,结果仍为整数,如 int  a = 4570,a=a /1000 * 1000,a=4000;);
%(取模,取余数,如 5%2=1,就是5/2 余1,正负看左边);++ 自增;--自减;
              两个字符串相连接用‘+’,字符串与任何数据用+号连接,最后结果都是字符串;

②转义字符:通过 \来转变后面字母或符号的含义, 如:\n 换行,\b 退格,\t 制表符;

③赋值运算符:= ,+=, -=, *=, /=,%=;例:x+=4,就是x=x+4,把表达式左右两边的和赋给左边;

④比较运算符:==,!=,<,>,<=,>=,instanceof(检查是否是类的对象),运算结果只有两个,要么true,要么false,
注意==和=不同

⑤逻辑运算符:&:与;|:或;!:非:
            ^:异或,一真一假则为true,全真或全假则为false(与|的不同是:两边为true时,结果为false)。

                           &&:与短路,左边为false,则右边不再运算。

                            | |  :或短路,左边为true,则右边不再运算。

注:逻辑运算符用于连接boolean类型表达式,一个数异或同一个数2次,结果还是原来的数,如m^n^n=m;


⑥位运算符: <<:二进制左移,越移越大,空位补0,相当于乘以2的n次幂。n是移的位数。

                         >>:带符号右移,越移越小,最高位是0,则空位补0;最高位是1,则空位补1。相当于除以2的n次幂。

                       >>>:无符号右移,无论最高位是0还是1,空位都补成0。

⑦三元运算符:因为是运算符,所以必须有结果。

格式:(条件表达式)?表达式1表达式2;//表达式1后面是冒号: 
          如果条件为true,运算后的结果是表达式1;
          如果条件为false,运算后的结果是表达式2;
例:获取两个数中的大数。
        int x=3,y=4,z;
        z = (x>y)?x:y;  //z变量存储的就是两个数中的大数。












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值