第二天---java的基础语法

一、关键字和保留字

  辅助编码工具:这里你可以使用notepad++ 或者使用editplus都是可以的,这个在百度上很容易就能找到并下载安装,不在多说了。

 

 

 我们是可以知道在一个文件夹里面新建一个文件,要以java为结尾直接用editplus去编译程序的。

1、关键字

  定义:被java语言赋予了特殊的含义,用做专门用途的字符串(单词)

如下图我们用editplus去编译程序的时候,哪些高亮显示的蓝色字体就是关键字

 

 

 关键字中所有的字符都是小写,下面是常用的一些关键字

用于定义数据类型的关键字

class、interface、enum、byte、short、int、long、float、

double、char、boolean、void

用于定义流程控制的关键字 if、else、switch、case、default、while、do、for、break、continue、return
用于定义访问权限修饰的关键字 private、protected、public
用于定义类,函数,变量修饰的关键字 abstract、final、static、synchronized
用于定义类与类之间关系的关键字 extends、implements
用于定义建立实例及引用实例,判断实例的关键字 new、this、super、throw、throws
用于异常处理的关键字

native、strictfp、transient、colatile、assert

用于包的关键字

package、import

其他修饰符关键字 native、strictfp、transient、volatile、assert
用于定义数据类型值的字面值 true、false、null

 

2、保留字

  Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用,自己命名标识符时要避免使用这些保留字    如”:goto ‘、const

二、标识符

1、标识符定义:是指在过程中,我们自己定义内容,比如类的名字,方法的名字和变量的名字等等,都是标识符

  定义合法标识符的规则:a、标识符是名称的意思,所有的名字都统称为标识符

             b、Java中经常要定义类,方法,变量等。在定义的时候需要给它们取名字,这些名字就是标识符

             c、只有字母(区分大小写)下划线(_),美元符号,和数字组成,长度不受限制。

             d、第一个字母不能是数字,不能是数字开头

             e、不能是关键字

             f、不能true,flase,null(尽管三各都不是关键字,而是常量标识)

2、Java中的名称命令规范:

包名:多单词组成时所有字母都是小写:xxxyyyzzz

类名,接口名:多单词组成时,第一个单词首字母小写,第二个单词开始每个

单词首字母大写:xxxYyyZzz

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

3、注意见名知意,驼峰命名法,尽量不要用拼音

三、变量

1、变量概念

  变量:常量是固定不变的数据,那么在程序中可以改变的量称为变量

  Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

 

 

 

 

2、Java基础数据类型 

  字节的概念:

    字节是我们常见的计算机存储单元,计算机存储任何数据,都是以字节的形式存储

    8个bit(二进制位) 0000-0000表示位1个字节,写成1byte或者1 B

    8 bit = 1B(字节)

    1024B = 1KB

    1024KB=1MB

    1024MB=1GB

    1024GB=1TB

  Java的计算数据类型

    基本数据类型:4类8种

      布尔类型:boolean ,数值只有2个:true  ,false

      字符类型:char,2个字节(16位)

      整数类型:

        byte,字节,1个字节(8bit)

        short,短整型,2个字节(32bit)

        int,整型,(默认类型),4字节(32bit)

        long,长整型,加L或1,8个字节(64bit)

  基本数据类型是Java语言中内置的类型,整数类型,小 数类型,字符类型,布尔类型这四类是最基本的类型

 

 

3、变量定义

  变量:计算机内存中一块存储空间,是存储数据的基本单元

  语法:

  变量包括三要素:数据类型,变量名,数据值

    数据类型  变量名 = 变量值   

示例:

public class Demo_var
{
		public static void main(String[] args){
			//定义一个变量;数据类型  变量名 = 数据的值
			//整数类型

			System.out.println("------------整数类型-------------");
			byte byteNum = 123;
			System.out.println("改变之前bytenNum:"+byteNum);
			byteNum = 23; //存放的数据的值在变化
			System.out.println("改变之后byteNum:"+byteNum);

			short shortNum = 200;
			System.out.println("shortNum:"+shortNum);
			int iNum = 1000;
			long lNum = 20000l;//long 类型的数据记得再后面加上L或者l,注意的是小L像一,不建议使用小L;
			System.out.println("lNUm:"+lNum);

			System.out.println("------------浮点类型--------------");
			float fNum = 2.3F;//生明float类型的时候,记得加上小f或者大F
			double dNum = 3.45;
			
			System.out.println("fNum:"+fNum);
			System.out.println("dNum:"+dNum);

			System.out.println("------------字符类型--------------");
			char c = 'c';
			System.out.println("c:"+c);
			System.out.println("-------------布尔类型---------------");
			boolean b = true;
			System.out.println("b:"+b);
		}
}

  说明一下:

  a、Java里面的变量必须先声明在使用

  b、使用变量名来访问这块区域的数据

  c、变量的作用域:其定义所在的一dui{}内

  d、变量只有在其作用域里面在有效

  e、同一个作用域里面不能定义重名的变量

 

 

4、字符类型

ASCll(American Standard Code Information Interchange),美国标准信息交换码

 

 

 

 Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或者其他书面语的一个字符

中文不一定都是2个字节,需要看它是用什么编码方式了

* Unicode中每个字符都对应一个二进制整数,可以使用多种方式赋值

* 字符赋值: char c1 = ‘A’; (通过藐视为字符赋值)

* 整数赋值:char c2 = 65; (通过十进制数65在字符集中对应的字符赋值)

* 进制赋值:char c3 = *\u0041*; (通过是十六进制41在字符集中所对应的字符赋值)

示例:

 

 

class Demo_Char 
{
    public static void main(String[] args) 
    {
        char c = 'c';
        char c2 = 'A';
        System.out.println("c2:" +c2);
        
        //转义字符
        System.out.println("------------------转义字符-------------");
        System.out.println("\"hello,world!!\"");
        System.out.println("\"hello,\nworld!!\"");//\n转义字符换行 

        System.out.println("\"hello,\tworld!!\"");//\t转义字符,一个制表符
    }
}

5、基础数据类型的转换

 Java允许程序员在一定程度上进行数据类型转换。

8种基本数据类型:

7种数值类型可以参加转换:byte,short,char,int,float,double(boolean不参见)。

显示转换

  显示转换(强制转换):取值范围大的转为为取值范围小的

  小范围数据类型 变量 = (小范围数据类型 变量)大范围数据类型

    int n = (int)6.7;

  语法结构:(要转换的类型)数值

隐式转换

  隐式转换(自动转换):取值范围小的转为取值范围大的

  大范围数据类型 变量 = 小范围的数据类型;

    double d = 10000;

  数据范围从大到小;

  double >float>long>int>short>byte

示例

class Demo_Type 
{
    public static void main(String[] args) 
    {
        //隐式的数据类型转换
        byte byteNum = 23;
        int intNum = byteNum;//将一个byte类型的数据赋值给int类型的变量
        System.out.println("intNum:"+intNum);
        int i = 345;
        double d = i;
        System.out.println("d:"+d);

        //显示转换
        double doubleNum =3.45;
        int iNum = (int)doubleNum;//发生了精度丢失
        System.out.println("iNum:"+iNum);

        int num = 23;  //如果是129 那么会发生数据溢出,但是如果是23那么久是正常的23这个结果了
        byte bNum = (byte)num;
        System.out.println("bNum:"+bNum);//会发现结果是-127 这是因为发生了数据溢出
    

        char c = 'c';
        int cNum = (int)c;//因为char是可以转换为数字的ASCII中小写的c刚好是99
        System.out.println("bNum:"+cNum);

        long L1 = 345L;//如果加L的话那么它会通过隐式类型转换在转换为int类型的
    }
}

 

四、运算符

1、算术运算符

+ , - , *, / , % , ++, --

 

 自增自减运算

++: 自增1

--: 自减1

i++ 和++i

变量在独立运算时,前++和后++没有区别

和其他变量放在一起,前++和后++就产生了不同

  * i++ 给i加1,但是i++的值时i本身。(先计算,后加1)

  * ++i 给i加1,但是++i的值是i+1了。(先加1,后计算)

示例

class Demo_Arithnetic 
{
    public static void main(String[] args) 
    {
        int a = 12;
        int b = 3;
        int result = a + b;
        System.out.println("a+b="+result);
        result = a - b;
        System.out.println("a-b="+result);
        result = a * b;
        System.out.println("a*b="+result);
        //除法
        a = 10;
        b = 3;
        result = a/b;//取商
        System.out.println("a/b="+result);
        result = a%b;//取余
        System.out.println("a%b="+result);

        //++,--
        System.out.println("------------------------");
        int n = 10;
        n++;//相当于m=m+1;
        System.out.println("n:"+n);
        n--;//相当于m=m-1;//单独使用的时候--在前和在后没有什么区别
        System.out.println("n:"+n);

        //
        System.out.println("-------------------------");

        int x = 2;
        int y = 3;
        int res = (x++)-(++x);//3-4 理论上应该是-2
        System.out.println("x:"+x);//4//如果++在后面那么是那x先运算在++   当++在前的时候先自增在运算
        System.out.print("res:"+res);//-2
    }
}

 

2、赋值运算符

= 赋值:=右边的数据,赋值给=左边的变量

+=,-=,*=,/=,%=

a += b // a = a+b

示例

class Demo_assin 
{
    public static void main(String[] args) 
    {
        int a = 23;
        //+=, -=, *=, /=
        a +=2;
        System.out.println("a:"+a);
        //
        a -= 10;//相当于a = a-10;
        System.out.println("a:"+a);
        a *= 2;//相当于a=a*2;
        System.out.println("a:"+a);
        a /=2;//相当于a = a/2;
        System.out.println("a:"+a);

        a %= 2;//相当于a = a%2;
        System.out.println("a:"+a);
    }
}

 

 

3、关系运算符(比较运算符)

用于比较两个数的关系,结果boolean类型的

>,<,>=,<=,==,!=

==: 判断两个数是否相等

==,和=的区别

  =:赋值运算符

  ==:比较数值是否相等

!=:判断两个数是否不相等

示例:

class Demo_compare 
{
    public static void main(String[] args) 
    {
        int a = 23;
        int b = 12;
        System.out.println("a>b:"+(a>b));
        System.out.println("a<b:"+(a<b));

        System.out.println("a>=b:"+(a>=b));
        System.out.println("a<=b:"+(a<=b));

        System.out.println("a==b:"+(a==b));
        System.out.println("a!=b:"+(a!=b));
    }
}

 

 

4、逻辑运算符(重点)

操作数是boolean类型,结果是boolean类型

&: 与操作

  规则: 操作数都是true,结果才是true,有一个是false就是false

    一假则假,全假才真

|:或操作

  规则:操作数都是false,结果才是false,有一个是true,就是true

    一真则真,全假才假

^:异或:异表示不同

  规则:两个操作数,相同才假,不同为真。

!:取非,取反

  规则:!T-->F, !F-->T

&&:短路与

  规则:遇到一个false就直接返回结果为false,后面的不在参见计算了

||:短路或

  规则:遇到一个true就直接返回结果为true,后面的不在计算了

示例

class Demo_logic 
{
    public static void main(String[] args) 
    {
        boolean b1 = true;
        boolean b2 = false;
        boolean b3 = true;

        //1,&:全真才真,一假则假
        boolean result = b1 & b2;
        System.out.println("result:"+result);
        //2,|:一真则真,全假则假
        result = b1 | b2;
        System.out.println("result:"+result);
        //3,!:取反
        result = !b1;
        System.out.println("result:"+result);

        System.out.println("-----------短路与和短路或-----------");
        //&&:短路与是只要遇到false;立马返回false;后面的不在计算

        int a = 12;
        int b = 23;
        result = (a++<10)&&(b++>20);
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("result:"+result);

        //||:短路或是只要遇到true;立马范围true,后面的不在计算
        a = 12;
        b = 23;
        result = (a++<10)||(b++>20);
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("result:"+result);
    }
}

 

posted @ 2021-12-15 23:43  来云朋  阅读(46)  评论(0)    收藏  举报