从零开始学java - 第一天

278 阅读3分钟

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

大家好,java语言从学编程开始就已经久仰大名了,但是目前在学校学的是前端和php,正好最近闲了下来,又恰逢此活动,如果有想学java但是还没有开始看的大家就一起来吧,每天一篇,一个月后看看能学成什么样子,从零开始

环境配置

www.oracle.com/technetwork…

推荐使用清华大学的开源镜像站,openjdk与jdk均可

Index of /AdoptOpenJDK/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

具体环境配置可参考:Java 开发环境配置 | 菜鸟教程 (runoob.com)

运行

先编译:

javac HelloWorld.java

ps:如果出现文字乱码可使用这一句:javac -encoding UTF-8 HelloWorld.java

再运行:

java HelloWorld

HelloWorld.java的内容:

public class HelloWorld { 
/* 第一个Java程序 * 它将输出字符串 Hello World */
    public static void main(String[] args) {
        System.out.println("Hello World"); // 输出 Hello World 
    } 
}

ps:println 是L,不是i

构造方法

  • 类都会必定有一个构造方法,如果没有的话会自动创建
  • 方法名与类名相同
  • 一个类可以有多个构造方法
public class Puppy{
    public Puppy(){
    } 
    public Puppy(String name){
    // 当使用方法的参数只有一个name的时候会调用这个方法
    } 
}

对象

  • 用new关键字来创建对象
  • 声明对象的时候需要声明类型和名称
public class Puppy{
    public Puppy(String name){
        System.out.println("小狗的名字是 : " + name ); 
    } 
    public static void main(String[] args){
        // 下面的语句将创建一个Puppy对象 
        Puppy myPuppy = new Puppy( "tommy" ); 
    } 
}

ps:上述代码的对象声明使用的是类名来代替类型进行对象声明,是因为该类名已经拥有类型,使用此类名声明等同与类型声明,故myPuppy对象为String类型

实例化对象

即使用自己创建的对象来进行方法或变量的访问

实例化官方解释:用类创建对象的过程

java文件声明规则

  • 一个文件中至多有一个public类
  • 文件名要与public类名一致
  • 代码书写顺序应为:package -> import -> 类定义

java的基本数据类型

内置数据类型

byte

  • 范围为(-128,127),默认为0
  • 占用空间为int的四分之一
  • 例子:byte a = 100

short

  • 范围为(-32768,32767),默认为0
  • 占用空间为int的二分之一
  • 例子:short a = 1000

int

  • 范围为(-2147483648(-2^31),2147483647(2^31-1)),默认为0
  • 一般的整数类型默认为int,以上两个多用于优化
  • 例子:int a = 100000

long

  • 范围为(-9223372036854775808(-2^63),9223372036854775807(2^63 -1)),认为0L
  • 一般用在较大的整数上
  • 例子:long a = 100000L

float

  • 浮点数类型,默认为0.0f
  • 不能用来表示精确值,如货币
  • 例子:float a = 100.0f

double

  • 浮点数的默认类型为此类型,默认值为0.0d
  • 不能用来表示精确值,如货币
  • 例子:double a = 12.9764

boolean

  • 只有两个值:true(正确),false(错误)
  • 默认值为false
  • 例子:boolean a = false

char

  • 范围为(0,65535),默认值为'u0000'
  • 可以存储任何类型的字符
  • 例子:char a = 'A'

ps:double与float的区别

  • float为32位,占4个字节。double为64位,占8个字节
  • float精度低,显示6位。double精度高,显示12位
  • 因为float的执行速度要比double快,所以在能确定精度的情况下要少用double

引用类型

  • 对象,数组都是引用类型
  • 所有引用类型的默认值都为null
  • 例子:Hello hello = new Hello('world')

今天就先学习这些吧,晚安