• java基础一(阅读Head First Java记录)


    写在前面的话
    在实际应用java中,因为没有系统去看过书或者学习过,所以基础薄弱,刚好这本书是比较入门级的一些书,记录一下下面的一些基本概念,以方便自己来学习。当然如果对大家有帮助也是很好的。
    因为书有大概700页,如果把各个知识点放在一个随笔里未免过多了。随意我决定拆分成几个随笔来写。这篇主要是介绍了一些运行java程序。java的类、变量、方法的一些基础内容。
     
    java工作方式
    1.编写源代码.java文件
    2.通过javac编译程序对java代码进行编译,检查是否有错误
    3.编译通过没错误后输出.class的java文件
    5.通过java虚拟机(JVM)来读取和执行.class文件,将字节码转成平台能够理解的形式来运行
     
    java的程序结构
    1.类在源文件中
    2.方法存于类中
    3.语句存于方法中
    4.每个程序最少有一个类和一个main(),一个程序只会有一个main(),main()是程序的起点
    class Dog{
         private int size;
         pulibc int getsize(){
              return size;
         }
         public int add(int total){
              int a=10;
              int b=12;
              total=a+b;
              return total
         }
     }
    Dog g=new Dog()
    说明:这里Dog是类名,g是对象的引用变量。size是实例变量。a和b是方法中的局部变量,add()和getsize()是方法。
     
    类与对象
    1.类不是对象,类是创造他们的模型(类是对象的蓝图)
    2.类由已知的实例变量和执行的方法组成
    3.main()的两种用途:测试真正的类和启动java应用程序
    4.java可以将所有文件依据pkzip格式来存档Java Archive-.jar文件,jar文件中可以引用一个简单的文字格式的文字文件manifest定义jar中按一个文件包含main()方法
    5.编译.java文件会将.java文件中的所有类都编译出来放到单独的.class文件里(二进制文件)
     
    变量
    1.java注重类型,变量必须有类型和名称
    2.float类型后面必须加上f,否则所有带小数点的值都会当做double处理(例float f=32.5f)
     
    引用变量:(例如有一个Dog类,Dog d;d就是一个引用Dog对象的引用变量)
    1.引用变量的值代表为与堆上的对象的存取方法,使用圆点.来操作,可以相当于引用指向
    2.没有引用到任何对象的引用变量的值是null
    3.引用变量指向的对象是存在堆上的,当堆上的对象没有被引用时会被GC垃圾回收。
     
    数组
    1.数组也是对象,不管里面放到是不是原始主数据类型
    2.数组本身绝对不可能是原始主数据类型
    3.他可以包含原始主类型数据(int),也可以包含引用变量,但是引用变量存的只是引用,还是需要创建对象
    4.一旦数组被声明出来,就只能装入所声明类型的元素(例外byte可以放进int内)
     
    方法
    1.java是通过值传递的,也就是通过拷贝传递。所以方法中的变量实际是把值拷贝给形参
    2.方法中可以改变形参的值,但是无法改变调用方式传入的参数的值
     
    实例变量
    1.实例变量永远都会有默认值,integers(0),float(0.0),booleans(false),references(false)
    2.数据封装,可以通过private将变量标记为私有(这样外部不能通过圆点对数据直接进行存取操作),然后通过public的getter或setter方法来设置变量值和读取变量值,且可以对写入的值做限制
    3.实例变量是声明在类内而不是方法中
    4.局部变量时声明在方法中,没有默认值。局部变量在使用前必须初始化。如果不初始化会编译不通过
    5.方法的参数与局部变量相同,但是不需要初始化也可以编译通过,调用方法时需要输入参数值
     
    比较
    1.使用==对primitive类型数据比较。只是比较对应字节组合是否相等
    2.使用==对引用变量进行比较,只有两个引用指向同一个对象的时候才返回true(对象不是一个,值一样也是false)
     
    for循环与while循环的差别
    1.for循环可以有初始化、Boolean、重复表达式三部分。初始化可以初始化多个参数
    2.while只有Boolean部分,不能初始化和填写重复执行的部分
    3.while适合不知道具体执行次数的循环
     
    前置与后置的递增/递减操作符++ --
    1.后置是先做等增和递减的操作,再赋值
         例如:int x=0; int z=x++; 结果x和z都是1
    2.前置是先赋值变量再做递增和递减的操作
         例如:int x=0;int z=++x;结果x=1,z=0
     
    开发类的过程
    1.找出类应该做的事情
    2.列出实例变量和方法
    3.编写方法的伪码
       伪码由三部分组成:实例变量的声明,方法的声明和方法的逻辑
    4.编写方法的测试应用程序(先写测试用程序概念来自极限编程XP,这样能够更容易更快写出代码)
    5.实现类
    6.测试方法
    7.除错或重新设计
     
     
    注意点
    1.if和while语句判断的都是boolean值的条件
    2.int x=(int) 24.6;(int)可以取浮点数的数值取整数部分
    3.执行java程序需要先用javac xxx.java进行编译。然后使用java xxx来执行程序(注意,javac编译时文件需要加.java后缀,然后编译通过才可以使用java xxx来执行程序,但是这时不需要加.class后缀,直接用程序名即可)
    4.每个.java文件只能有一个public的class类,否则编译不通过(网上解释说只能有一个公共的对外接口,虽然不是很明白)
    5.main()函数中必须加(String[] args)才可以执行,否则编译不通过。这是因为String数组接收了命令行的参数,虽然我们没传入任何参数,但实际上传入了运行时的参数,我们可以打印一下就可以看到,否则没有接收运行参数的是不能运行的。
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    mac flutter 创建过程及遇到的问题
    MAC 终端编辑完成后如何保存:
    mac下添加环境变量
    beanstalkd队列
    小程序真机上报错 for developer: some selectors are not allowed in component wxss , including tag name selectors, id selectors, and attribute selectors
    小程序通过web-view实现与h5页面之间的交互
    小程序中的web-view与h5网页之间的交互
  • 原文地址:https://www.cnblogs.com/meitian/p/5452172.html
Copyright © 2020-2023  润新知