【大数据】JavaSE 8.0基础部分整理

一、Java概述

(1)Java起源

Java之父是詹姆斯.高斯林(James Gosling),诞生于SUN(Stanford University Network),2009年被Oracle(甲骨文)收购

(2)Java语言特点

  • 完全面向对象
  • 支持分布式
  • 健壮型
  • 安全
  • 跨平台

(3)Java知识图解

在这里插入图片描述

(4)Java运行环境

  • JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境之一;JVM本身是不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机
  • JRE (Java Runtime Environment) :Java程序的运行环境,包含JVM 和运行时所需要的核心类库
  • JDK (Java Development Kit):Java程序开发工具包,包含JRE 和开发人员使用的工具

三者关系: JDK > JRE > JVM

  • 如果是想要运行一个已有的Java程序,那么只需安装JRE 即可
  • 如果想要开发一个全新的Java程序,那么必须安装JDK ,其内部包含JRE
    在这里插入图片描述

(5)Java运行方法

  1. 创建源文件:使用文本编辑器编写,后缀名为.java
  2. 编译源文件:在DOS命令行中,进入源文件所在路径,使用命令编译,javac 源文件名.java,然后路径下会多一个类名.class文件,也就是字节码文件
  3. 执行字节码文件:使用命令编译,java 类名

常见问题

  1. main是否必须在public修饰的类中
    不必须,但是习惯上将main写在public修饰的类中
  2. 一个源文件中是否可以有多个类
    一个源文件中可以有多个类(只有一个类可以被public修饰), 其中类名不能相同,编译后会生成多个.class字节码文件
  3. 源文件名与类名是否必须一致
    被public修饰的类的类名必须和源文件名保持一致,其他类不需要保持一致,但是为了好维护,建议一个源文件尽量只写一个类,且都与源文件名保持一致
  4. cmd命令是否区分大小写
    源文件名不区分大小写,其他都区分大小写,但是建议都做区分
  5. cmd命令行窗口的字符编码与.java源文件的字符编码不一致
    解决方案一:在文本编辑器中修改源文件的字符编码
    解决方案二:使用javac命令时,指定源文件的字符编码,javac -encoding utf-8 源文件名.java

二、Java核心语法

Java语言

Java语言是一门严格区分大小写的语言,且不支持中文符号

语言格式

(1)每一级缩进一个Tab键
(2){}的左半部分在行尾,右半部分单独一行,与和它成对的"{"的行首对齐

语言结构

{
    方法{
        语句;
    }
}

程序入口:main方法

public static void main(String[] args){
    
}

(1)注释方法

  • 单行注释:// 注释内容
  • 多行注释:/* 注释内容 */
  • 文档注释:/** 文档注释内容 */
  • 查看文档注释
    DOC命令:javadoc -d 文件夹名 【-version -author】 源文件名.java

(2)关键字

  • 关键字一共50个,全部都是小写,其中constgoto是保留字

在这里插入图片描述

(3)标识符

1. 标识符的命名规则(必须遵守)

  • 不能使用内置关键字(包含保留字)和特殊值(布尔值、空值)
  • 只能使用字母,数字,下划线_,美元符号$
  • 不能以数字开头
  • 不能包含空格
  • 严格区分大小写

2. 标识符的命名规范(建议遵守)

  • 见名知意
  • 类名、接口名:每个单词的首字母都大写,形式:XxxYyyZzz
  • 变量、方法名:从第二个单词开始首字母大写,形式:xxxYyyZzz
  • 包名:每一个单词都小写,单词之间使用点.分割,形式:xxx.yyy.zzz
  • 常量名:每一个单词都大写,单词之间使用下划线_分割,形式:XXX_YYY_ZZZ

(4)数据类型

1. 基本数据类型

在这里插入图片描述

  • 字符常量(char)的三种表示方式

(1)单个字符

char c = 'A'
System.out.println(c); //输出A

(2)转义字符

转义字符含义
\n换行
\r回车(Enter)
\t缩进(Tab)
\\\
\""
\'
\b删除(Backspace)

(3)Unicode编码值(范围:0~65535)

 char c = 97; //a的编码为97
 System.out.println(c); //输出a

2. 基本数据类型转换

  • 自动类型转换(隐式类型转换), 将取值范围小的类型自动提升为取值范围大的类型

转换场景

  1. 存储范围小的值赋值给存储范围大的变量
  2. 存储范围小的数据类型与存储范围大的数据类型一起混合运算
  3. 当byte,short,char数据类型进行算术运算时,按照int类型处理
    在这里插入图片描述
  • 强制类型转换(显示类型转换),将取值范围大的类型强制转换成取值范围小的类型,转换格式数据类型 变量名 = (数据类型)被强转数据值

转换场景

  1. 存储范围大的值赋值给存储范围小的变量(可能会损失精度或溢出)
  2. 提升数据类型
  • 特殊的数据类型转换:任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

3. 引用数据类型数组接口

(5)常量

  • 自定义常量:通过final关键字定义
  • 字面值常量
字面值常量举例
字符串常量”HelloWorld“
整数常量12,-23
浮点常量12.34
字符常量‘a’,‘0’,‘沙’
布尔常量true,false
空常量null
  • 字符常量:单引号里面有且仅有一个字符
  • 空常量:不可以在输出语句中直接打印

(6)变量

1. 声明变量数据类型 变量名;

  • 先声明后使用
  • 变量有作用域,在同一个作用域中不能重名

2. 赋值变量变量名 = 值;

  • long类型建议加L
  • float类型建议加F
  • char类型使用单引号:'值',不可以为空
  • String类型使用双引号:"值",可以为空

3. 使用变量:通过变量名直接引用

  • 在使用之前必须初始化

(7)运算符

分类运算符
算术运算符+-*/%++--
赋值运算符=+=-=*=/=%=
关系运算符>>=<<===!=
逻辑运算符&|^!&&||
三元运算符(关系表达式)?结果1:结果2;
位运算符&|~^<<>>>>>
  • 逻辑运算符
逻辑运算符符号解释符号特点
&与,且falsefalse
|truetrue
^异或相同为false,不同为true
!falsetrue,非truefalse
&&双与,短路与左边为false,则右边就不看
||双或,短路或左边为true,则右边就不看
  • 位运算符
位运算符符号解释符号特点
&按位与两位都为1时返回1
|按位或只要有一位为1即可返回1
~按位非将操作数的每个位(包括符号位)全部取反
^按位异或当两位相同时返回0,不同时返回1
<<左移运算符左移几位就相当于乘以2的几次方
>>右移运算符右移几位就相当于除以2的几次方
>>>无符号右移运算符往右移动后,左边空出来的位直接补0,不看符号位
  • 运算符优先级
    在这里插入图片描述

(8)分支语句

(9)循环语句

(10)控制语句

(11)数组

两种常见的输出语句

  • 直接输出语句:输出内容,完毕后不做任何处理,格式:System.out.print(输出内容);,括号内不能为空
  • 换行输出语句:输出内容,完毕后进行换行,格式:System.out.println(输出内容);,括号内可以为空

如果有多项输出内容,必须使用+连接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值