java笔记

第一章:Java环境搭建
 Java是一种计算机编程语言;除了java编程语言, 还有很多的编程语言:c、c++、c#、python等
不同编程语言类比于不同国家语言;每个编程语言的
语法不同;应用场景不同
Java是一个用于后端开发的编程语言

一、Java历史
1. 1995年,sun公司推出的一款面向对象的编程语

2. jdk:java开发的必要工具
 97 jdk1.1
98 jdk1.2
..
2004年: jdk1.5版本,更名为 jdk5.0
添加新特性:泛型、增强的for等
        jdk6.0
        jdk7.0
  
二、Java语言的特点 【了解】
1. 简单性:相对 c、c++等
2. 开源性(开放源代码,编程人员写的程序)
3. 资源广泛性:很多编程爱好者进行研究,大厂作 为推手
 jdk8.0 -> 企业,lambda表达式 (stream流)
         ...
         jdk18.0
         ....
2009年:sun被 oracle(甲骨文)收购了

java发展方向分为:【记住】 JavaSE:Java语言核心基础
JavaEE:企业级开发应用 JavaME:通信相关

二、Java语言的特点 【了解】
1. 简单性:相对 c、c++等
2. 开源性(开放源代码,编程人员写的程序)
3. 资源广泛性:很多编程爱好者进行研究,大厂作 为推手
 jdk8.0 -> 企业,lambda表达式 (stream流)
         ...
         jdk18.0
         ....
2009年:sun被 oracle(甲骨文)收购了
java发展方向分为:【记住】 JavaSE:Java语言核心基础
JavaEE:企业级开发应用 JavaME:通信相关
  
 4. 跨平台性:可以在不同的操作系统运行
  windows、linux、unix、macos等
开发环境 windows /macos 部署环境:linux
5. 面向对象性:后续的讲解
三、Java运行机制
1. Java运行机制:先编译后解释运行
  源码文件:.java文件,开发人员进行编写
编译:将 .java源文件通过编译器 生成对应的 字节码文件
(.class文件)
运行:将 .class文件 通过解释器-》逐行的翻译 并运行

 2. 注意:实际运行时,运行 .class 文件;.java只需 要编译一次,.class文件可以被多次的运行(一次 编译多次运行)
  注意:如果源代码更改,重新的编译,生成新的对 应的.class
四、环境搭建

1. 名词解释:
 (1) JVM:Java虚拟机;作用:屏蔽不同操作系统 之间差异
(2) JRE: Java运行环境;JRE = 解释器+JVM
(3) JDK:Java开发工具,JDK=JRE+编译器+工 具类+工具
 
2. 安装JDK
  点击 jdk的安装文件,按照 步骤完成即可。
(1) jdk不要重复安装,如果想卸载,需要通过控
制面板
(2) jdk没有 提供操作界面,需要安装 notpad++ 文本编辑器进行编写代码

3. 配置环境变量
 (1) java_home:jdk的根目录 C:\Program
Files\Java\jdk1.8.0_131
(2) path:java的 bin目录 C:\Program
Files\Java\jdk1.8.0_131\bin
(3) classPath:. ; 代表:告知jvm去哪找对 应的执行.class文件;. 代表在当前路径下查找

五、Java的第一个开发程序
1. java的源文件以:.java进行结尾 2. class:类,代码容器

3. 编译和运行:
  (1) 编译:javac 源文件名.java (2) 运行:java 类名

4. 细节:
  (1) 一个源文件中可以定义多个类,每个类中都可 以定义一个main函数
(2) 一个源文件中多个类之间不允许重名
5. 公开类:
  (1) public:公开的、公共的
(2) 一个类被 public 修饰,则此类被称为公开 类、公共类
(3) 语法:
public class 类名{}
(4) 公开类的类名必须和源文件名字一致
(5) 一个源文件中最多只能定义 一个公开类

六、package(包)

 1. 作用:类似于文件夹,方便进行分门别类进行管 理
2. 语法:package 包名;
3. 注意事项:
  (1) package语句必须位于源文件中第一行有效语 句
(2) 一个源文件中最多只能定义一个package 语 句
4. 带包的编译和运行
  (1) 编译:javac -d . 源文件名.java (2) 运行:java 包名.类名
七、编码规范
1. 良好的标识符命名规范
  标识符:起名字的内容,统称为标识符

 (1) 硬性要求[语法要求 - 开发+面试题目涉及]
  1. java中标识符只能以 数字、字母、_、$组 成,但是不能以数字开头
2. java中标识符没有长度限制
3. java中标识符严格区分大小写
4. 不能使用 java中关键字、保留字(goto、 const)、特殊符号命名(true/false/null)
注意:java中允许使用汉字命名,但是不建议使 用,容易出现乱码
(2) 建议要求【软性要求】

(1) 望文生义,Student / Worker (2) 包名:全小写, package
demo.com.zmj;
(3) 类名:每个单词首字母大写,TestStudent
(4) 变量名/函数名/方法名:第一个单词首字母小写,其余单词首字母大写(驼峰命名法) , ageAndName
(5) 常量:全大写; PI

2. 良好的编码格式
 (1) 建议 一行只写一句代码
(2) 层级之间要有严格缩进,一个Tab键
 3. 良好的注释习惯

注释:对代码的解释和说明
(1) // :单行注释:只能写一行注释内容 (2) /*
多行注释:可以写 N行注释内容 */
注意:注释内容不参与编译
注意2:单行注释不能嵌套多行注释; 但是多行注释可以嵌套单行注释
  练习:创建一个源文件命名为
TestStudent.java
定义 包结构,包名为 demo; 定义公开类,类中打印输出信息为:
大家好,我叫XXx (把自己的姓名) 人美心善,帅气...
编译和运行
 

 

 

第二章:变量、数据类型、运算符、表
达式
一、变量
1. 概念:计算机中的一块内存空间,存储数据的基 本单元
2. 变量的组成部分:数据类型、变量名、数据 3. 语法:
  (1) 先声明,再赋值:
数据类型 变量名; // 声明 变量名 = 值; // 赋值
(2) 声明的同时并赋值: 数据类型 变量名 = 值;
(3) 同时定义多个相同类型的变量: 数据类型 变量名1,变量名2=值,变量3;
 二、java中的数据类型分类
1. 简单数据类型、基本数据类型(原始数据)
  B-Byte,字节,1个字节 = 8位(8b) b->bit
1KB= 1024B
1MB= 1024KB
1GB= 1024MB
1TB= 1024GB
..
10.24号,称之为 程序猿节
 (1) 整数类型(4种)
byte 1B -128~127 short 2B -32768~32767 int 4B
-2147483648~2147483647
long 8B -922京 ~922京-1

注意:long的字面值后面需要加L或是l(建议大 写,区分数字1)
(2) 小数类型(浮点类型-2种)
float:单精度,4B,字面值后面必须加f/F
double:双精度,8B,字面值后面可以加 D/d,或是不加
注意:float和double可以采用科学计数法进 行存储
(3) 字符类型(1种)
char 2B ,字面值形式如下:
a. 单引号引起来的一个字符 char c1 = 'A';
b. 采用整数形式,整数范围 0~65535 char c2 = 65;
char c3 = 29233;
c. 转义字符: '\n':换行
'\t':水平跳格 '\' ':单引号 '\" ':双引号

4) 布尔类型(1种)
boolean 字面值 true/false
true:代表关系成立 false:关系不成立

2. 对象数据类型、引用数据类型
  (1) 类、数组、接口等都称为对象类型
(2) 以字符串为例:
a. 字符串:String
b. 使用 双引号引起来的 一个或是多个字符 String str = "hello";

数据类型实际开发总结: 整数类型通常使用:int 小数类型:double 布尔类型:通常应用判断、循环结构中 字符类型:实际开发不常用
字符串:实际开发频繁使用

实际存储数据:根据项目业务
姓名 :String name ="韩晨夕" ; 年龄 : int age = 35;
成绩 :double score = 99.5; 性别 :String sex = "男";
char c = '男';
int flag = 1; // 1-男 0-女 电话: String tel= "17710131197"; 地址: String addr = "天津市武清区"; 身份证号: String id="37082819891012203x"

三、数据类型之间的转换 1. 自动类型提升
  (1) 场景:小数据类型赋值给大数据类型(存储的 数据范围衡量数据的大小)
(2) 规则: byte->short->int->long->float-
>double
    char->int->long->float->double
2. 强制类型转换
 (1) 场景:大数据类型赋值给小数据类型,需要强 制类型转化
(2) 语法:
源数据类型 变量名 = 值;
目标类型 变量名2 = (目标类型)变量名;

四、表达式
1. 理解:表达式由字面值、变量、运算符组成式 子,通常有一个结果
2. 表达式的结果规则:
  (1) 如果表达式中有double类型,结果为double (2) 表达式中没有double类型,有float,结果 为float
(3) 表达式中没有double/float,有long,结 果为long
(4) 其余结果为:int
五、运算符 1. 算术运算符

*= /=
+ - *(乘法) /(除法) %(取余数/取 模)
注意:+ 的两种用法:
a. 如果+两端都为数值类型,则为加法运算 b. 如果+两端有一端为字符串类型,则为字
符串拼接

2. 赋值运算符
3. 比较运算符(关系运算符)
  = += -= *= /=

3. 比较运算符(关系运算符)
  = += -= *= /=
+ - *(乘法) /(除法) %(取余数/取 模)
注意:+ 的两种用法:
a. 如果+两端都为数值类型,则为加法运算 b. 如果+两端有一端为字符串类型,则为字
符串拼接
 
 4. 逻辑运算符
 &&:逻辑与,两端连接的为布尔表达式,只有当两 端同时为true,结果才true ||:逻辑或,两端连接的是布尔表达式,只要有一 端为true,结果为true !:逻辑非,在结果上取反
 5. 一元运算符:
> :大于 >=:大于等于 < :小于
<= :小于等于 == :等于
!= :不等于
注意:被关系运算符连接的表达式结果类型为布尔 类型,所以关系运算符连接的表达式也被称为 布尔

4. 逻辑运算符
 &&:逻辑与,两端连接的为布尔表达式,只有当两 端同时为true,结果才true ||:逻辑或,两端连接的是布尔表达式,只要有一 端为true,结果为true !:逻辑非,在结果上取反
 5. 一元运算符:

++(自增) --(自减)
实际开发应用:
a++ 和 ++a:将a自身变量值进行加1 a-- 和 --a:将a自身变量值进行减1
面试/考试常见内容:
int c = a++; 先使用,再加1 int c = ++a;先计算加1,再使用

6. 三元运算符
 (1) 语法: 布尔表达式?表达式1:表达式2
(2) 原理:先判断表达式是否成立,结果为 true,执行表达式1,否则执行表达式2
 六、Scanner(扫描仪)
1. 作用:可以让用户输入信息,提高人机交互

2. 导包:
  (1) 语法:import 包名1.包名2.类名;// 导入 指定类
import 包名1.包名2.*;//导入包中 所有 类
(2) 位置:定义在package语句的后面,所有类上 面
(3) 例如:import java.util.Scanner;
3. 步骤:

(1) 导入包:
import java.util.Scanner; import java.util.*;
(2) 创建对象:
Scanner sc = new
Scanner(System.in); (3) 使用:
int n = sc.nextInt();//输入一个整数
double d = sc.nextDouble();//输入 一个小数
String s = sc.next();// 输入一个字 符串
char c = sc.next().charAt(0);//输 入一个字符

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值