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. 赫然:Windows Live Writer 批量博客更新软件使用教程

    http://www.wocaoseo.com/thread-144-1-1.html 推广人员需要使用多个博客,一个一个登陆更新是很麻烦的事情,网上的桌面批量更新博客软件也不少,今天在此推荐大家使用 ...

  2. C++ int与char[]的相互转换

    C++ int与char[]的相互转换 一.itoa函数与atio函数①把int类型数字转成char类型,可以使用itoa函数. itoa函数原型: char*itoa(int value,char* ...

  3. Qt 如何使窗体初始最大化

    Qt 如何使窗体初始最大化 使用以下函数即可解决: void QWidget::setWindowState ( Qt::WindowStateswindowState ) 这样的函数,通过它可以设置 ...

  4. vs使用fscanf和fprintf错误警告处理

    严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'.strcmp):This function or variable may be unsafe. 最全解决办法(转 ...

  5. python爬虫数据提取之bs4的使用方法

    Beautiful Soup的使用 1.下载 pip install bs4 pip install lxml # 解析器 官方推荐 2.引用方法 from bs4 import BeautifulS ...

  6. Android开发之开源框架OKHTTP的Get请求代码,得到json字符串方法

      <span style="white-space:pre"> </span><pre name="code" class=&q ...

  7. 遇到doxygen生成的chm文档目录如果有中文是乱码?

    原因不在于doxygen,它没有问题,问题出在微软的HTML Help Workshop的hhc.exe不支持utf8.所以要解决这个问题,需要做两个额外的步骤: 1.将html/index.hhp中 ...

  8. 1. Error running ...: No jdk for module ... 2.

    一.错误 Error running ...: No jdk for module ... Error running ...: No jdk for module ... 二.解决方法 找到File ...

  9. 一文看懂 YAML

    前言 YAML 并不是一种新奇的语言,YAML 首次发表于 2001 年,距离现在已经过去差不多 20 个年头.YAML 虽然不如 JSON.XML 之类的语言流行,应用也没有那么广泛,但是 YAML ...

  10. python应用 曲线拟合 01

    双指数函数 待拟合曲线为 y(x) = bepx + ceqx import matplotlib.pyplot as plt x = ([0.05, 0.1, 0.15, 0.2, 0.25, 0. ...