java笔记(二)

本文详细介绍了Java中的基本语法,包括运算符、赋值运算符、比较运算符等,并深入探讨了逻辑运算符的区别及使用场景。此外,还讲解了一维数组和二维数组的初始化与遍历方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常量与变量


常量


变量



1.+ (正),-(负),+,-,i++,++i,i--,--i,*(乘),/(除),% (取余)

注意:

1:i++(先运算,再在1) ++i(先加1,再运算) i--,--i同理。

2:/(除)除数不能为0,不然会报出异常。

3:%(取余)除数不能为0.



2.赋值运算符(=,+=,-=,*=,/=,%=)

int i = 0;

i  = i + 5;
i += 5;             与上一行代码同样的意思

其他运算符运算方式类似


3.比较运算符(关系运算符)
==  >   <  >=   <=    instanceof  

注意:

1:区分==  与 =  区别。一个=表示赋值,两个==表示等于

2:4>=3  表达的是4 > 3或者 4 = 3.结果是true。
3:if(i > 1 && i < 10){  }          不能写为:if(1 < i < 10){}



4:逻辑运算符(运算符的两端是boolean值)

例:1 & 2 = 0 (装换为二进制计算)

按位与(&):0 和0 得 0,1 和 0 得 0,1 和 1 得 1

例:1 | 2 =  3  (装换为二进制计算)

按位或(|):0 和0 得 0,1 和 0 得 1,1 和 1 得 1


4.1.按位与(&)和短路与(&&)区别:

&:不管左边是true还是false,右端都会继续运算

可以理解为并且)&&:当左边false时,右端不再进行运算


4.2.按位或(|)和短路或(||):

|:当左边为true时,右端继续运算

(可以理解为或者)||:当左端为true时,右端不再继续运算



5.位运算符(两端是数值类型的数据)

<< 左移    >>右移      >>>无符号右移



6.三目运算符

格式:

(条件表达式)? 表达式1 : 表达式2;

 1:条件表达式,true,false,或者是一个能返回true/false的方法
 2:表达式1,可以是任何数据类型
 3:如果条件表达式得到的结果是true,最终的表达式就是表达式1
4:如果条件表达式得到的结果是false,最终的表达式就是表达式2


7.java关键字,标识符,命名规则,命名规范

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


标识符:凡是自己可以起名字的地方都叫标识符


命名的规则:(一定要遵守,不遵守就会报编译的错误)
由26个英文字母大小写,0-9 ,_或 $ 组成  
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格。

Java中的名称命名规范:(不遵守,也不会出现编译的错误)
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ


8.一维数组

数组:相同数据类型的数据的组合。


8.1数组初始化

     int[] a = new int[]{2,1,5};     //静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行。
     int i2[] = new int[3];       //动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行。
     a2[0] = 2;
     a2[1] = 1;
     a2[2] = 5;


8.2遍历数组方法一

for(int  i = 0;i < a.length ;i++){

System.out.println(a[i]);

}


8.3遍历数组方法二

for(int item : a){     //for each    item是存放i的数组长度,他们必须是一样的类型,存放的也必须是一致的。

System.out.println(item);

}



9.二维数组

    int[][] a = new int[][] {1,2,5,6}    //静态初始化:在声明并初始化数组与给数组相应的元素赋值操作同时进行。
     int[][] a = new int[2][2];      //动态初始化:在声明并初始化数组与给数组相应的元素赋值操作分开进行。
        a[0][0] = 1;
        a[0][1] = 2;
        a[1][0] = 5;
        a[1][1] = 6;


9.1遍历二维数组方法一

        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a.length; j++) {
                System.out.println(a[i][j]);
            }
        }


9.2遍历二维数组方法二

for(int item : a){    //a是二维数组,item是一维数组   必须对应相同的变量

    for(int i : item){   //i不是下标,是元素    必须对应相同的变量

   System.out.println(i);

  }

}


10.类,对象,方法,变量。

1.类的组成成分:
   1)属性(成员变量,Field)
   2)方法(成员方法,函数,Method)


1.1属性:
               成员变量 vs 局部变量
    相同点:1.遵循变量声明的格式: 数据类型 变量名 = 初始化值
         2.都有作用域


    不同点:1.声明的位置的不同 :成员变量:声明在类里,方法外
               局部变量:声明在方法内,方法的形参部分,代码块内


         2.成员变量的修饰符有四个:public private protected 缺省
           局部变量没有修饰符,与所在的方法修饰符相同。


          3.初始化值:一定会有初始化值。

class类里面定义的变量也是成员变量
          成员变量:可以不初始化赋值,不同数据类型会有不同的默认初始化值。
             byte short int long ==>0
             float double ==>0.0
             char ==>空格
             boolean ==>false 
             引用类型变量==>null


           局部变量:一定要显式的赋值。(局部变量没有默认初始化值)


          4.二者在内存中存放的位置不同:成员变量存在于堆空间中;局部变量:栈空间中
 


      实例变量跟类变量都是成员变量里面的,但是区分了动态变量跟静态变量       

      实例变量(动态变量)  需要new创建一个对象才能调用

      static类变量(静态变量)  不需要new创建一个对象就能调用


  总结:关于变量的分类:1)按照数据类型的不同:基本数据类型(8种)  & 引用数据类型(数组,接口,类)
   2)按照声明的位置的不同:成员变量 & 局部变量


1.2 方法:
提供某种功能的实现
     1)实例:public void eat(){//方法体}
          public String getName(){}
           public void setName(String n){}
      格式:权限修饰符 返回值类型(void:无返回值/具体的返回值) 方法名(形参){}
       
    2)关于返回值类型:void:表明此方法不需要返回值
       有返回值的方法:在方法的最后一定有return + 返回值类型对应的变量
       记忆:void 与return不可以同时出现一个方法内。像一对“冤家”。
 
 3)方法内可以调用本类的其他方法或属性,但是不能在方法内再定义方法!


2.类的初始化的内存解析
2.1  内存划分的结构:
      栈(stack):局部变量 、对象的引用名、数组的引用名
      堆(heap):new 出来的“东西”(如:对象的实体,数组的实体),含成员变量
      方法区:含字符串常量
      静态域:声明为static的变量


11.final修饰局部变量和成员变量(不能修改)


12.变量的可访问性



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值