这是我的一个高中同学在传志培训后发给我的学习视频,包含基础和提升两个阶段。此为基础篇。因为是抽空的时候看的,所有进度可能会有点慢……
基础篇视频链接:链接:http://pan.baidu.com/s/1i5839T7 密码:bimd
提升篇视频链接:链接:http://pan.baidu.com/s/1boG7hXt 密码:azlh
平时的练习代码存放在github仓库中:https://github.com/956159241/JavaBasicStudyNotesFromItcase
使用工具:eclipse neon.3
第一章 JAVA概述
1.1 Java语言的特点
重点有两个开源,跨平台。
1.2 JRE 与JDK
JRE(Java Runtime Environment Java运行环境)
JDK(Java Development Kit Java开发工具包)
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
1.3 JDK,JRE,JVM的作用及关系(掌握)
作用
JVM:保证Java语言跨平台
JRE:Java程序的运行环境
JDK:Java程序的开发环境
关系
JDK:JRE+工具
JRE:JVM+类库
相关连接:
JDK的安装与配置
1.4 第一个小程序
奇怪,我在创建的时候,为什么有个小问号呢?百度说是未进行版本控制。
把项目上传一下再看看……
通过上图可以看到,还未上传结束,可是问号已经没有了, 也就是说,提交一下,那个问号就没有了。
第二章 Java基础语法
2.1 关键字
2.1.1 特点
组成关键字的字母全部小写
注意:goto和const作为保留字存在,目前并不使用
2.2 标识符
2.2.1 组成规则
数字字母下划线,不以数字开头(还有其他可以使用,例如$等)。
注意:1.不能是关键字;2.区分大小写。
2.2.2 命名规则
- 包(其实就是文件夹,用于解决相同类名问题)
全部小写
单级包:小写
举例:zzh,com
多级包:小写,并用.隔开
举例:com.iotzzh,com.baidu - 类或者接口
一个单词:首字母大写
举例:Student,Demo
多个单词:每个单词首字母大写
举例:HelloWorld,StudentName - 方法和变量
一个单词:首字母小写
举例:name,main
多个单词:从第二个单词开始,每个单词首字母大写
举例:studentAge,showAllNames() - 常量
全部大写
一个单词:大写
举例:PI
多个单词:大写,并用_隔开
举例:STUDENT_MAX_AGE
2.2.2 注释
- 单行注释
格式: //注释文字 - 多行注释
格式: /* 注释文字 */ - 文档注释
格式:/** 注释文字 */
注意:初学者编写程序可以养成习惯:先写注释再写代码。
2.3 数据类型
使用变量注意事项:
- 作用域
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。 - 初始化值
没有初始化值不能直接使用 - 在一行上建议只定义一个变量
可以定义多个,但是不建议
注意事项:
- boolean类型不能转换为其他的数据类型
- 默认转换
byte,short,char—int—long—float+—double(byte,short,char相互之间补转换,他们参与运算首先转换为int类型)
3.强制类型转换
目标类型 变量名=(目标类型)(被转换的数据);
2.4 运算符
面试题1:
1.请用最有效率的方式写出计算2乘以8的结果?
用移位运算 int a=2<<3;
2的二进制是10 在32位存储器里面是0000 0000 0000 0010
左移三位后变成 0000 0000 0001 0000 也就是16
2.请自己实现两个整数变量的交换
//方式1:借用第三方变量
int c;c=a;a=b;b=c;
//方式2:使用位异或实现
a=ab;b=ab;a=a^b;
//方式3:使用a和b的和相减
a=a+b;b=a-b;a=a-b;
//方式4:一句话搞定
b=(a+b)-(a=b);
2.5 三目运算符
示例:z = (x>y)?x:y;//z变量存储的就是两个数的大数。
2.6 键盘录入方式
- 导包(位置放到class定义的上面)
import java.util.Scanner; - 创建对象
Scanner sc = new Scanner(System.in); - 接收数据
int x = sc.nextInt();
2.7 流程控制语句
分类:
- 顺序结构
- 选择结构
- 循环结构
关键字提醒:
if,else,switch,for,while,foreach,break,continue,return。
写程序优先考虑for循环,再考虑while循环,最后考虑do…while循环。
2.8 常用字符与ASCII代码对照表
2.9 运算符优先级
注意:
1.byte,short在定义的时候,他们接收的其实是一个int类型的值。
这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。
2.Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
可以。因为java语言中的字符占用两个字节。
Java语言采用的是Unicode编码。
2.10 方法
简单的说:方法就是完成特定功能的代码块
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
2.11 数组
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
数组的定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
举例:
int[] arr = new int[3];