我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情
海贼王的JAVA日志
java最核心的内容就是面向对象
JDK,JRE,JVM
JDK包含jre和java开发工具
jre包含jvm和java核心类库
常用命令行
- 盘号: --通过命令路径到指定盘符下面
- dir列出当前目录下的所有文件
- cd 目录名进入到指定目录
- md目录名 创建一个新的文件夹
- rd 目录名 删除一个文件夹
- del 文件
- cd..
- cd/
API文档
public class HelloWorld{
public stastic void main(String[] args){
System.out println("");
System.out println("");
system.out print("");
}
}
class Person{
}
//这里是单行注释
/*这个是多行注释*/
java对中文敏感
每个执行语句后面都是以;
结尾
单独执行语句放在同一行是没有问题的但是为了可读性一般都是一句一行
JAVA开发工具
集成开发环境IDE
Eclipse
IDEA
//再来一遍
public class ChairMan{
public static void main(String[] args){
System.out.println(""); System.out.println("");
System.out.println("");
System.out.println("");
}
}
//每一个类名都是一个文件,一定要整清楚
路线
学完流程控制完成项目1
学完面向对象可以做第二个
学完异常处理第三个第四个
学完流程后
复习基础知识
软件: 即一系列按照特定顺序组织的计算机数据和指令的合集
系统软件:Windows , macOSSierra ,Linux Unix ,Android, ios
应用软件: word ,ppt
人机交互方式:
图形化界面---命令行界面
dir列出当前目录下的文件以及文件夹
md穿件目录
rd删除目录
cd进入指定目录
cd\退回到根目录
del删除文件
exit退出DOS命令行
算法+数据结构=应用程序
算法就是程序的正确与否 数据结构就是效率,也就是数据储存的问题 就相当于E=mc2一样
计算机语言的发展迭代史
第一代:机器语言
第二代:汇编语言
第三代: 高级语言
面型过程语言:c,pascla
面向对象:java,js,python
java语言应用领域
- java web开发:后台开发
- 大数据开发
- Android应用程序开发: 客户端开发
java特点
-
面向对象
- 两个要素:类.对象.
- 三个特点: 封装,集成,多态
-
健壮性
- 去除了c的指针
- 自动垃圾回收机制(仍有可能存在内存溢出的可能)
-
跨平台性
- write once,run anywhere:一次编译到处运行
开发环境
JDK = JRE+tools
JRE = JVM+JAVA SE标准类库
总结第一个程序
java程序编写-编译-运行的过程
编写在.java后缀名结尾的源文件里面
编译用配置好的javac.exe编译java源文件.
javac HelloWorld.java
运行用配置好的java.exe编译class字节码文件 此时不用添加文件后缀名
java HelloWorld
输出语句
system.out.println();
system.out.print();
每个语句都以;
结尾
编译的过程:编译结束后,会生成一个或者多个字节码文件.字节码文件的文件名与java源文件中的类名相同.
注释
- 单行注释
//
- 多行注释//**/
- 文档注释/** */
多行注释不能嵌套使用
API
application programming interface
习惯上:将语言提供的类库成为api
开发工具
记事本也是一个开发工具
*但是在企业开发中用的是IDE(集成开发环境)
IDEA
Eclipse
JAVA基本语法(分为上下)
关键字和保留字
关键字,被java语言赋予了特殊含义.用做专门用途的字符串
关键字都是小写
保留字(以后版本可能作为关键字使用)
goto,const
标识符
java对各种方法,变量,类,等要素命名时使用的字符序列称为标识符
技巧: 凡是自己可以起名字的地方都是标识符号类名接口名包名全是标识符
定义规则
- 由26个字大小写,0-9,或
$``_
组成 - 数字不可以开头
- 不可以使用关键字和保留字,但能包含关键字和保留字
- java中严格区分大小写,长度无限制
- 标识符不能包含空格
试一试Static
如果不遵守规则直接无法通过编译
命名规范
包名:全小写 多单词组成时所有字母都小写:xxxyyyzzz 类名,接口名:驼峰 多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名,方法名:小驼峰 多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写 常量名: __大写 所有字母都大写.多单词时每个单词用下划线连接:XXX_YYY_ZZZ
在起名字的时候尽量可以做到见名知义\
class IdentifierTest{
public static void main(String[] args){
//int myNumber = 1001;
//System.out.println(myNumber);
int myNumber = 1002;
System.out.println(mynumber);
//变量名好像还可以使用中文名字因为是Unicode编码的东西
}
}
变量
内存中的一个储存区域
java每个变量必须先声明后使用
作用域在{}
里面才有效
Java是强类型就是每个变量是程序中最基本的存储单元,包含变量类型,变量名和存储的值
java定义变量的格式: 数据类型 变量名 = 变量值;
class test {
//变量类型 变量名称 变量赋值
int myAge = 12;
System.out.println(myAge);
int myNumber;
myNumber =12;
System.out.println(myNumber);
}
变量要先声明然后才可以使用 同一个作用域内,不能存在两个同名的变量 变量的定义都在作用域内有效,出了作用域就无效了
变量数据类型
//java中定义的数据类型
数据类型
-
基本数据类型
-
数值型
- 整数类型 > byte short int long
- 浮点类型float double
-
字符型 char
-
布尔型boolean
-
-
引用数据类型
- 类class
- 接口interface
- 数组[]
变量
成员变量
在方法体外,类体内声明的变量称为成员变量
局部变量
在方法体内部声明的额变量称为局部变量
1byte = 8bit
一个byte占一个字节
数的范围是-128~127
一个short占2个字节
一个int占4个字节
一个long占8个字节
编译错误大概率就是程序里面的错误
class test{
public static void main(String[] args){
byte b1 = 12;
System.out.println(b1);
//上面这样子大概率是没有问题的
//声明long型变量,必须以"l""L"结尾
long ll = 111112L;
System.out.println(11112L);
//float定义的时候一样要和long一样加后缀
float ff1 = 12.3f;
System.out.println(ff1);
double dd1 = 123.3;
Sytem.out.println(dd1+1);
char cc1 = 'a';
//字符内部用的是一个字符不能是两个
//cc1 = 'AB';
char cc2 = '2';
//其他文字都可以
System.out.println(cc1);
//转义字符
char cc5 = '\n';
char cc6 = '\t';
System.out.println("hello"+cc5);
//转义字符
char cc6 = '\u0043';
System.out.println(cc6);
}
}
float: 单精度,位数可以精确到7Wie有效数字
double: 双精度,是float的两倍
float 4字节 double 8字节
定义char字符的时候通常用上一对
''
Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\n’; // '\n'表示换行符
直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表 一个十六进制整数。如:\u000a 表示 \n。
布尔值
只能取两个值之一: true , false
常常在 条件判断,循环结构中使用
boolean bb1 = true;
System.out.println(bb1);
boolean isMarried = true;
if(isMarried){
System.out.println("你就不能参见单身party了!\n很遗憾");
}else{
System.out.println("你可以多谈谈女朋友");
}
//可以用两个转义字符\n实现处处\n
//输出引号就可以"
强制类型转换
char c = 'a';
int i = 5;
float d = .314f;
double result =c+i+d;
class var{
public static void main(String[] args){
byte b1 = 2;
int i1 = 129;
//byte b2 = b1 + i1;
//不通过
int i2 = b1 + i1;
System.out.println(i2);
//低的可以往搞得赋
short ss = 123;
double bb = ss + 1;
}
}
- 自动类型提升
byte,short,char----int--long--float--double
特别的: byte,char,short三种类型变量做运算时,结果为int !!!
容量小的数字可以直接提升为容量大的数值这个容量是存储数据量
所以8字节的long可以转换 为4字节的float,
- 强制类型转换
//强制类型转换
double bb1 = 12.123;
int tt1 = (int)bb1;
System.out.println(tt1);
//截断操作损失精度
(强制转换符号)
整形常量默认int型
浮点型常量默认为double型
字符串类型: String
是引用数据类型不是基本数据类型
String不是基本数据类型,属于引用数据类型
使用方法与基本数据类型一致> String str = "abcd"
一个字符串可以串接另一个字符串,也可以直接串接其他类型的数据.
- str = str + "syz";
- int n =100;
- str = str +n;
class StringTest{
public static void main(String[] args){
//声明String的时候用上`""`
String ss1 = "HelloWorld";
System.out.println(ss1);
}
String可以和8种基本数据做运算
本质就是连接,最后类型都是String类型
再复习一遍就是
''
单引号就是char
字符流
ASCII--Unicode--utf-8
字符集
复习
8种基本数据类型
byte,short,int,long
char
float,double
boolean
记录复习笔记用的软件是eDiary
关键字
被java赋予特殊含义的字符
保留字
现版本java没有用,以后可能会用
goto const
标识符的使用
定义规则
定义规范
运算符号
- 算数运算符
- 赋值运算符
- 比较运算符--关系运算符
- 逻辑运算符
- 位运算符
- 三元运算符
跳过了进制,语句实现,数组算法,先学习变量
面向对象
学习面向对象内容的三条主线
- java类及类的成员 : 属性 方法 构造器 代码块 内部类
- 面向对象三大特征 封装性 继承性 多态性
- 其他关键字 this super static final
大处着眼,小处着手
\