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

时间:2023-12-09 21:33:43
写在前面的话
在实际应用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数组接收了命令行的参数,虽然我们没传入任何参数,但实际上传入了运行时的参数,我们可以打印一下就可以看到,否则没有接收运行参数的是不能运行的。