java_day1学习笔记


title: Java_Day_1学习笔记
data: 2024-07-09
tags: Java

学前简述

学习方法

  • 为什么学?

    • 技术控?
    • 项目需求?
    • 作业要求?
  • 方法?

    • 现有技术能解决?
    • 现有技术能完美解决?
  • 新技术和知识点?

    • 根据需求有针对点的学习
  • 怎么学?

    • 基本原理和基本语法(不考虑细节,快速过一遍),不要先考虑细节,因为细节永无止境

    • 快速入门(基本程序)

    • 熟悉后,再考虑细节

历史信息

  • 1995年,Java诞生。

  • 目前属于甲骨文公司所有

  • 目前用的最多的版本是8和11

语言特点

  • 面对对象(oop)

  • 可移植性高

  • 解释性语言
    解释性语言:编译后的程序需要解释器执行,如python、Java、PHP。
    编译性语言:编译后的程序可以直接执行,如C/C++

开发工具

软件

  • editplus、 notepad++
  • Sublime Text
  • IDEA
  • eclipse

选择

初学者建议用集成度低的软件,培养代码感。例如Sublime。

做项目的时候,建议使用IDEA与eclipse这些集成度高的软件,会更方便进行项目开发。

运行机制

Java能运行起来全靠各个平台的JVM(Java虚拟机)

JVM特点

  • 包括在JDK中,通过安装不同版本的JDK来安装
  • 不同的OS具有不同的JVM
  • JVM为Java程序的运行提供透明服务,即程序编译后,运行的时候屏蔽了不同操作系统的差异性。

JDK(Java开发工具)

  • 包括JRE和Java开发工具
  • 开发者使用,编译程序

JRE(Java运行环境)

  • 包括JVM和Java核心类库

  • 用户端使用,运行程序

配置环境变量

原因

  • 看错误现象
  • 当前执行程序的目录下没有可供使用的编译器,OS会去查询path路径。为了能够最大效率的使用Java,所以要配置环境变量。

在这里插入图片描述

用户变量只针对某一个用户,这里就是只针对zpx用户,而系统变量是针对所有用户,即所有用户都可以用。如果电脑只供一个用户使用,其实两者就没有差别了。

Java入门

程序示例

以下是一个经典的Hello程序代码的示例

//创建一个public公有类Hello
public class Hello{
	//创建一个主函数
	public static void main(String[] args){
		//编写打印字符串的代码块
		System.out.println("Hello world!"); 
        // ;(冒号)表示该代码语句结束
	}
}

在这里插入图片描述

在编译之前一定要改变程序的编码格式,因为cmd默认编译程序是gbk编码,但是有中文的代码一般是utf-8格式,所以在编写完程序后,一定记得要改变程序的编码格式。

之后还要进行程序的编译和执行,语句及效果如下图所示:

在这里插入图片描述

javac命令
java命令
.java文件
.class文件
执行结果

注意事项

  • 一个源文件只能有一个public类,其他类不限制;
    并且如果源文件中有一个public类,则源文件必须以该类命名。

  • 在编译后,每一个类都会生成一个.class文件。

  • Java程序入口是main()方法,一般我们规定是

    public static void main(String[] args){}
    
  • main()方法也可以在非public类中

转义字符

字符功能
\t制表符
\n换行符
\\输出“\”(类似于计网数据链路层)
\r回车

==注意:==换行是另起一行,回车是同一行从头开始。

要学会去看报错信息,一般情况下报错信息有助于我们修改代码,完善代码。

注释

  • 单行注释:利用“//”后面跟的是注释
  • 多行注释:“/**/“,在两个*中间夹的就是注释,这个可以用作多行

在这里插入图片描述

  • 文档注释:

在这里插入图片描述

文档注释的用处很多,这个在之后可以多加留心注意。

代码规范

  • 类、方法注释用javadoc方式

  • 适当的缩进和空格

  • 实际工作中的文件格式是utf-8

  • 每行最多不要超过80字符

  • 代码编写符合次行风格(笔者推荐,笔者常用)和行尾风格

数据类型

变量

用于存储数据的命名存储位置,每个变量都有一个特定的类型。类型决定了变量能存储的种类以及该数据能进行的操作

加运算

下边是进行加运算时候的代码及结果

在这里插入图片描述

数据类型

  • 基本数据类型

    • 数值型

      • 整数类型(byte[1],short[4],int[4],long[8])
      • 浮点类型(float[4],double[8])
    • 字符型(char[2])

    • 布尔型(boolean[1])

  • 引用数据类型

    • 接口
    • 数组

整数类型

类型字节范围
byte1-128~127
short4-(215)~215-1
int4-(231)~231-1
long8-(263)~263-1
  • Java的数据类型长度不受OS的影响,保持了Java的可移植性
  • 除非不得已,一般用int
  • 1byte = 8bit

浮点型

类型存储空间范围
单精度float4字节-3.403E38 ~ 3.403E38
双精度double8字节-1.798E308 ~ 1.798E308

浮点数 = 符号位 + 阶码(指数) + 尾数(精度)

  • 不受OS影响,存储空间固定
  • Java默认浮点型常量是double,声明float类型时,常量后必须跟‘f’或者’F‘
//创建一个公有类
public class PlusSum{
	public static void main(String[] args){	
		float num1 = 1.1; //报错,Java默认常量是double
		float num2 = 1.1f; //对
		double num3 = 1.1; //对
		double num4 = 1.1f; //对,double存储空间大于float
            
        double num5 = .123; //相当于0.123
        double num6 = 5.12e2; //= 5.12*10的平方
        double num7 = 5.12E2; //= 5.12/10的平方
	}
}
  • 2.7与8.1/3相近,并不是相等。

字符型

  • char的本质是整数,整数代表的Unicode码(统一编码表)
  • 用单引号包括
  • char可以运算
  • 不同规则的编码格式,对文件大小有一定的影响;不同编码的文件进行转换会出现乱码的情况
    如gbk(字母1字节,汉字2字节), utf-8(字母1字节,汉字3字节), unicode(字母与汉字均为2字节), big5(存放繁体字)

布尔型

  • 只有true和false两个值
  • 不能用非0或0表示布尔类型(C可以)

类型转换

类型自动转换

  • 低精度能向高精度进行自动转换

在这里插入图片描述

  • 当有多个数据类型进行运算的时候,系统首先将所有数据转换为存储空间最大的数据类型
  • (byte,short)无法与char互相转换
  • boolean不参与类型自动转换

在这里插入图片描述

  • short, char, byte参与的运算会自动转换为int类型

强制转换

  • 高精度转为低精度,会造成数据的损失或溢出

在这里插入图片描述

  • 强转符号只对最近的数据有效

在这里插入图片描述

练习题

在这里插入图片描述

base2string

  • 基本数据类型与字符串进行转换的时候用的是各个数据类的方法

在这里插入图片描述

作业小结

在这里插入图片描述

// HomeWork4.java
public class HomeWork4{
    public static void main(String[] args){
        String name = "张三";
        int age = 20;
        double score = 95.6;
        char gender = 'female';
        String hobby = "music";
        System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n"+
            name+"\t"+age+"\t"+score+"\t"+gender+"\t"+hobby);
    }
}
  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值