day02-课堂笔记

1、打开DOS命令窗口,执行java HelloWorld,执行原理?
* java.exe命令会启动JVM
* JVM启动之后会启动类加载器ClassLoader
* ClassLoader会在硬盘上的某个位置搜索HelloWorld.class字节码文件
* 找到该文件则执行
* 找不到该文件则报错

疑问:ClassLoader是在哪个位置上搜索HelloWorld.class字节码文件的?
* 默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件
* 当然,也可以让ClassLoader去某个指定的路径下加载字节码文件,这时需要配置环境变量classpath
* classpath环境变量属于java语言中的环境变量,不属于windows操作系统【PATH环境变量属于操作系统】
* classpath是给ClassLoader类加载器指路的。
* 设置这样的环境变量:classpath=D:\course\JavaProjects\02-JavaSE\day02
- 打开dos命令窗口在任意位置,都可以执行:java HelloWorld
* classpath环境变量没有配置的话,类加载器默认从当前路径下找字节码文件,
当classpath环境变量配置为某个指定的路径之后,类加载器只去指定的路径当中加载字节码文件。
* 综上所述,环境变量classpath不再配置,这样类加载器会自动从当前路径下加载class字节码文件。
所以,每一次执行.class程序的时候,需要在DOS命令窗口中先切换到.class字节码文件所在的路径下。
然后运行。
* 当然,classpath也可以这样配置:classpath=.

注意:
路径中“..”表示上级目录
路径中“.”表示当前目录

2、关于java源程序当中的注释:

* 什么是注释?注释的作用是什么?
- 出现在java的源程序当中,对java源代码的解释说明
- 注释不会被编译到.class字节码文件当中
- 一个好的开发习惯应该是多编写注释,这样程序的可读性比较强。

* java中的注释怎么写呢?
- 单行注释
//单行注释,只注释当前行

- 多行注释
/*
多行注释
多行注释
多行注释
多行注释
多行注释
.....
*/

- javadoc注释
/**
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
* javadoc注释
*/
注意:这种注释是比较专业的注释,该注释信息会被javadoc.exe工具解析提取并生成帮助文档。

3、对HelloWorld程序进行解释:
需要记忆:
* public
* class
* static
* void
* System.out.println(""); 向控制台输出消息
* 类体
* 方法体
* 类体中不能直接编写java语句【除声明变量之外】
* 一个java语句必须以“;”结束
* 方法体中可以编写多条java语句
* 主方法是程序的入口,固定写法,SUN规定的。

4、public class 和 class的区别:

* 一个java源文件当中可以定义多个class

* 一个java源文件当中public的class不是必须的

* 一个class会定义生成一个xxx.class字节码文件

* 一个java源文件当中定义公开的类的话,最多有一个,并且该类名称必须和java源文件名称一致。

*一个Java源文件可以定义多个class和一个公开的class

* 每一个class当中都可以编写main方法,都可以设定程序的入口,想执行B.class中的main方法:java B,
想执行X.class当中的main方法:java X

* 注意:当在命令窗口中执行java Hello,那么要求Hello.class当中必须有主方法。没有主方法会出现运行
阶段的错误:
D:\course\JavaProjects\02-JavaSE\day02>java Hello
错误: 在类 B 中找不到主方法, 请将主方法定义为:
public static void main(String[] args)

5、总结第一章需要掌握的内容:
* 理解java的加载与执行
* 能够自己搭建java的开发环境
* 能够独立编写HelloWorld程序,编译并运行
* 掌握环境变量path的原理以及如何配置
* 掌握环境变量classpath的原理以及如何配置
* java中的注释
* public class 和 class 的区别

第二章:java语言基础

1、标识符

1.定义
源程序中可以自定义的部分都是标识符
editplus中黑色部分
类名
方法名
接口名
变量名
常量名
...

2.命名规则【类似法律,严格执行否则编译错误】
只能由数字、字母、下划线、美元符组成
且不能以数字开头,不能包含空格
关键字不能作为标识符
无长度限制,不要太长

3.命名规范【类似道德,最好遵守】

*见名知意

public class UserService{
public void login(String username,String password){

}
}

*驼峰命名【大小写起伏】

SystemService
UserService
CustomerService

*类名、接口名:首字母大写,后面每个单词首字母都大写
*变量名、方法名:首字母小写,后面每个单词首字母大写
常量名:全部小写

*/
public class IdentifierTest01 //IdentifierTest01就是一个类名
{
//main是一个方法名
public static void main(String[] args){ //args是变量名

}
}

2、关键字

  常用的关键字,遇到时学习

  在 Java 中关键字都是小写的

class extends implements interface import package break case continue default do

if else for return switch while false true null boolean byte char short int long float double

try catch throw throws finally abstract fianl native private protected public static

synchronized transient volatile instanceof new super void assert enum goto const

3、字面值

就是数据,是java语言的组成部分

比如

1

1.1

"abc"

"A"

true

false

4、变量

变量包含,数据类型、变量名、字面值,一般分为局部变量和成员变量

局部变量在方法体之内,成员变量在方法体之外,类体之内

变量是内存中存储数据的最基本的单元

不同数据类型的变量分配的内存空间不同

变量中存储的数据要求与其数据类型一致,否则编译时报错

变量名要符合标识符的标准,首字母小写,后面每个单词首字母大写

Java中的变量必须先声明,再赋值然后才能访问

变量不赋值,内存空间不会为其开辟

在作用域中,同一变量名不能重复定义,但同一变量可以被重新赋值

ps:   作用域是指变量的作用域,即变量的作用范围,出了该范围(大括号{}),该变量就无法访问(变量如果被定义在类和方法体之间,则不同方法体均可访问该变量,以为没出大括号,大括号包含了各个方法体)

  方法体内的语句是顺序执行的,且前一个不执行完后一个不被执行

5、数据类型

一共五种数据类型

整型(1,2,100)、浮点型(1.5,10.1)、字符串型("abc")、字符型("A")、布尔型(true,false)

布尔型就是真和假

不同数据类型占得内存大小不同

Java中有两种数据类型,基本数据类型和引用数据类型

其中基本数据类型包含四大类八小种

第一类: 整数型 byte、short、int、long

第二类:浮点型 float、double

第三类:布尔型 Boolean

第四类:字符型 char

"abc"字符串属于引用数据类型,字符属于基本数据类型

基本数据类型      占用空间(字节)

byte            1

short             2

int               4

long            8

float            4

double             8

boolean           1

char            2

其中char需要字符编码,比如ASCII码

1byte=8bit

byte型的最大值为01111111,其中最高位为符号位,0代表正数,1代表负数

它的取值范围[-128,127]

------整理自B站动力节点教育集团

Java学习day02的更多相关文章

  1. Java 学习 day02

    1. 标识符 2. 常量 3. 进制的特点 4. 进制转换(十进制和二进制) 5. 进制转换(八进制和十六进制) 6. 进制转换(负数二进制) 7. 变量 8. 类型转换 9. 算术运算符 10. 转 ...

  2. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  3. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  4. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

  5. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  6. Java学习心得之 HttpClient的GET和POST请求

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...

  7. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  8. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  9. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

随机推荐

  1. Python爬虫实战点触验证码, 模拟登陆bilibili

    爬虫思路如下: 利用自动化爬虫工具 Selenium 模拟点击输入等操作来进行登录 分析页面,获取点触验证码的点触图片,通过将图片发送给超级鹰打码平台识别后获取坐标信息 根据超级鹰返回的数据,模拟坐标 ...

  2. 用Python发一封图文并茂的邮件

    最近使用了不少通讯工具的接口, 比如企业微信机器人,钉钉,微信公众号的接口(未认证的订阅公众号),相对于邮件来说,它们的表现形式太弱.比如没有更丰富的版本方式.当然了,并不是说表现形式越棒就是约好的通 ...

  3. vue-cli3.0 vue脚手架3.0的使用

    1.安装vue-cli 3.0 npm install -g @vue/cli # or yarn globaladd @vue/cli 安装成功后查看版本:vue -V(大写的V)     2.命令 ...

  4. ARM开发板实现双系统引导的一种方法——基于迅为iTOP-4412开发板

    前言 本文所用的uboot代码为迅为官方提供,开发板是迅为iTOP-4412开发板.本文如有错误,欢迎指正. 首先,我们确定一下系统启动的流程:首先启动uboot,uboot启动内核并挂载rootfs ...

  5. React.Fragment

    React 中一个常见模式是为一个组件返回多个元素.Fragments 可以让你聚合一个子元素列表,并且不在DOM中增加额外节点. Fragments 看起来像空的 JSX 标签: render() ...

  6. Sqli-labs 1-10

    Less 1-4(基础注入) 基础知识: table_schema:数据库的名称 table_name:表的名称 column_name:列的名称 information_schema:表示所有信息, ...

  7. 集成react-native-image-picker时,报错Couldn't get file path for photo

    1. 版本环境: "react": "16.13.1", "react-native": "0.63.2", " ...

  8. Myeclipse 连接数据库(jdbc)

    1.找到DataBase Explorer,如下图所示: 2.点击下图红框内图标,new 3.进入下图界面 如果是JDBC驱动按下图配置: driver name自己起 url一定要注意:jdbc:m ...

  9. [Python]打印指定目录下所有子目录

    import os for root,dirs,files in os.walk(r"/home/os-hy01"): for dir in dirs: print(dir) -- ...

  10. jenkins打包java maven项目

    一.maven本地配置 1.修改apache-maven-3.6.1\conf\settings.xml文件,把仓库配置成本地仓库 <localRepository>D:\apache-m ...