`
hejiajunsh
  • 浏览: 409992 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

JAVA学习笔记——JAVA基础语法之精华

阅读更多

一、标识符

     概念:JAVA里面我们可以给他取名字的(变量、类、方法等等)就是标识符:

     注意:1、标识符只能包含字母、数字、下划线还有美元符号$

              2、只能以字母、下划线和美元符号开头

二、变量

     概念:JAVA中储存数据的最小单元

     扩展:计算机中保存数据的最小单元是位(一个0或是一个1就是一位)

             8bite = 1byte(字节)  1024byte = 1KB   1024kb = 1MB

              一个英文字符占1个字节;一个中文字符占2个字节

     作用:使用变量名来代替了计算机内存中的地址

  分类:

        按照位置上来分:

    1、成员变量:定义在类的里面,方法的外面

    2、局部变量:定义在方法里面的

    按照数据类型来分

    1、基本数据类型:4类8种

    2、应用数据类型:除了基本数据类型之外的都是基本数据类型

  作用域:变量的适使用范围

             一般情况下变量在哪对大括号中定义就只能在哪对大括号中使用

三、数据类型

  概念:对变量名定义一个存放数据的类型,然后对变量进行赋值

  4类8种数据类型:

  4类:

    1、布尔类型(boolean)

      一般用来表示逻辑运算只有true和false两个值

    2、字符类型(char)

      字符串的常量要使用双引号“ ”  如果是字符的常量要使用单引号‘ ’

      注意:JAVA的字符类型是2个字节  C语言是1个字节的

                         JAVA使用的是unicode编码(思考:理解一下字符编码的概念及作用)

    3、整数类型

      byte(1)  short(2) int(4) long(8)正确使用可以节省内存的占用率

      long型变量后面要加上L

    4、浮点类型

       float   double

  数据类型之间的转换规则:

    1、小的自动转换成大的

             (从低到高数据类型顺序)byte  short   char  int  long  float  double

    2、boolean和其他数据类型之间不允许进行转换

    3、大的转换成小的数据类型要加强制类型转换,务必要注意溢出的问题

    4、byte、short、char之间不能进行转换,如果参与了运算会先把自己转换成int类型

                再 参加运算

           注:当有多种数据类型混合运算的时候先把数据类型转换成参加运算的数据类型最高的那一个再参与运算   

                运算符中&&比逻辑与运算效率更高,因为当前面的计算结果出来之后为false的话就不需要再计算后面的而是直接给出结果   

四、参数

  实际参数:方法调用的时候传入的参数既称为实际参数

  形式参数:就是用来接受实际参数的,一般放在被调用的函数体里面的

  注意:形式参数和实际参数的数据类型要一样,个数要匹配

 

五、面向对象和面向过程的区别

  面向过程:它所考虑的是过程和步骤,比如说开车去深圳我们要考虑的是怎么去也就是说:what  to do

  面向对象:它所考虑的是有几个对象,比如开车去深圳我们要考虑的就是有几个对象,也就是说:how to do

六、类

  概念:是对象的模板,它是具有相同属性和行为(方法)的一组对象的集合

  对象和类的区别:类是抽象的,而对象是具体存在的

    知识扩充:同一个文件夹中只能有一个类是public的,而且main()方法绝对是包含在public类当中

七、构造方法(构造器、构造函数)

  作用:1、主要是用来创建对象    2、初始化成员变量  

  特点:1、必须与类名相同   2、没有返回值类型,void也没有  3、每一个类都会有一个隐式的构造方法,没有参数和方法体  4、手动添加显式的构造方法那么隐式的构造方法自动消失

  

    知识扩充:面向对象编程思维步骤:1、考虑有几个对象  2、通过对象确定有几个类  3、找出每一个类中存在的方法  4、调用相应的方法实现功能

例如这个简单的例子

 

public class test{
          public static void main(String[] args){
              Mouse mouse = new Mouse();
              mouse.name = "mick";
        
              Cat cat = new Cat();
              cat.name = "Tom";
        
              cat.Catch(mouse);
        }
      }

      class Cat{
          String name;
    
          public void Catch(Mouse mouse){
              mouse.cry();
          }
      }

      class Mouse{
          String name;
    
          public void cry(){
              System.out.println(name + "  is crying");
          }
      }
 

 

        思维方式:找出有两个对象tom猫和mick老鼠。进而找出有两个类一个是猫类一个是老鼠类,然后确定两个对象内部分别包含两个方法一个是属于tom对象的catch()方法一个是属于mick 对象的cry()方法

 

    专家模式:一个方法改变的是那个对象的状态(属性),那么该方法就属于谁

八、JVM(JAVA虚拟机)的四个区域

  1、代码区(code segment):存放的是字节码

  2、堆区(heap segment):存放的是对象

  3、栈区(Stack segment):存放的是局部变量

  4、栈区的一块特殊区域(static segment):存放字符串常量和静态变量

    堆和栈的区别:堆可以保存大的数据类型运行速度慢;栈只可以保存小的数据内容但是运行速度快

    局部变量和成员变量重名的问题解决办法

         办法:该情况下使用this指针,因为每一个对象都有一个this指针,相当于当前对象的引用。原理如下图所示:

                        图  1

 

九、成员变量初始化

  1、JAVA当中,成员变量会默认初始化

      数值类型:默认为0     布尔类型(boolean):默认为false      字符类型(char):默认是空   引用数据类型:默认是NULL

  null值的含义:表示一个引用没有指向任何一个对象,也就是谁栈中的一个引用没有指向任何一个栈中的内存地址,如上图所示形象来说就是“引用”的那个箭头没有

  2、JAVA中的垃圾回收机制(GC)

    如果一个对象没有指向任何一个引用,那么这个对象就是JAVA中的垃圾,JAVA会自动调用GC自动收回

      知识延伸:如果说在JAVA中需要一个对象使用完后就被GC收回,最好的变法就是把指向这个对象的引用设置为NULL

 

十、Static关键字

  1、加上static的成员变量称之为静态变量(类变量)

    static segment中的数据不能重复,所有对象共享其数据,其中一个对象对其进行修改之后那么其他的对象的值也随之改变

    因为所有对象共享它,跟对象没有任何关系,所以也就称之为类变量;可以使用  类名.变量名  来调用

    如下图所示逻辑:

    

                    图  2

    堆里面的两个对象共享 Static segment里面的静态变量Corcol;如果要改变其值只需使用  Person.Corcol  即可改变其值

  2、加上static的方法称之为静态方法(类方法)

    类方法不需要创建对象来调用,可以直接是用  类名.方法名  调用

    注意:(1)、静态的方法只能访问静态的成员变量

       (2)、非静态的方法既可以访问静态的成员变量也可以访问非静态的成员变量

          知识延伸:为什么main()方法是static的?

     因为main()方法是程序的入口,在使用main()方法之前不允许有任何的对象被调用,所以说main()方法务必是static的

分享到:
评论

相关推荐

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    JAVA学习笔记————————

    在深入探讨JAVA学习笔记之前,我们首先理解一下JAVA这一编程语言的重要性。JAVA,由Sun Microsystems公司(现已被Oracle收购)于1995年推出,是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性...

    web学习笔记 —— jsp基础语法

    本文将深入探讨"Web学习笔记——jsp基础语法"这一主题,重点关注JSP(JavaServer Pages)的基础知识。JSP是Java平台上的动态网页技术,它允许开发者将HTML、XML或其他标记语言与Java代码结合,以创建交互式的Web应用...

    Java JDK 6学习笔记——ppt简体版

    Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及核心特性。这份PPT简体版旨在帮助读者快速掌握Java开发的基本技能,逐步成为一名合格的Java程序员。 Java JDK...

    Java JDK 6学习笔记——ppt简体版.rar

    通过"Java JDK 6学习笔记——ppt简体版",学习者可以系统地学习到如何使用JDK 6进行开发,包括环境配置、基本语法、类库使用、异常处理、IO流、网络编程、多线程等各个方面。PPT格式通常直观易懂,便于快速理解和...

    Java JDK 6学习笔记——ppt简体版附课本代码

    这份“Java JDK 6学习笔记——ppt简体版”涵盖了Java语言的核心概念、语法特性以及JDK 6的新功能,旨在帮助初学者和有经验的开发者深入理解并掌握这一版本的Java开发环境。 首先,Java JDK 6的安装与配置是学习的...

    Java JDK 6学习笔记——ppt

    Java JDK 6学习笔记——PPT简体版是针对初学者和有经验的开发者们的一份宝贵资源,它深入浅出地介绍了Java编程语言的核心概念和技术。这份资料以PPT的形式呈现,使得学习过程更加直观易懂,同时包含了课程中的源代码...

    Java基础 学习笔记 Markdownr版

    本学习笔记主要涵盖了Java的基础知识,包括面向对象、集合、IO流、多线程、反射与动态代理以及Java 8的新特性等方面,旨在帮助初学者或有经验的开发者巩固和提升Java编程技能。 1. 面向对象(OOP):Java的核心是...

    学习笔记——资料

    【Java学习笔记——全面解析】 Java作为一种广泛应用的高级编程语言,是软件开发领域的核心力量。这份"学习笔记——资料"涵盖了Java学习的各个方面,旨在帮助初学者和有经验的开发者巩固基础,提升技能。以下是对这...

    j2se学习笔记——课堂笔记

    **J2SE学习笔记——接口与相关程序** Java 2 Platform, Standard Edition(J2SE)是Java平台的核心部分,提供了开发和运行桌面应用程序、Web应用程序和服务的基础。本笔记主要聚焦于J2SE中的接口(Interface)概念...

    个人学习的java笔记——思维导图

    这份"个人学习的java笔记——思维导图"涵盖了上述诸多Java编程的核心知识点,通过思维导图的方式,使得学习者可以更直观地理解和记忆这些复杂的概念,对提升Java学习效果大有裨益。无论你是初学者还是有经验的开发者...

    web学习笔记 —— EL

    在IT行业中,EL(Expression Language)是Java EE平台的一个重要组成部分,主要用于简化...这篇319_EL.pdf的学习笔记将详细介绍EL的各个方面,包括基础语法、高级特性和实践技巧,对于提升你的Web开发技能将大有裨益。

    JDK 6学习笔记——PPT简体版

    **JDK 6学习笔记——PPT简体版** Java Development Kit(JDK)是Java编程语言的核心组件,它提供了开发和运行Java应用程序所需的工具和环境。JDK 6是Oracle公司发布的一个重要版本,为开发者带来了许多改进和新特性...

    jsp学习笔记——初学者的选择

    【JSP学习笔记——初学者的选择】 JSP(JavaServer Pages)是JavaEE平台中用于构建动态网页的应用技术。作为初学者,理解JSP的基本概念和技术特性至关重要。 1. **为何选择JSP?** JSP的出现主要是为了解决...

    达内core_java学习笔记

    Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。

Global site tag (gtag.js) - Google Analytics