html知识点
java:
java是一门面向对象的高级编程语言
特点:面向对象(类)
跨平台型:解释执行
.java 类
类:变量+方法+数组+。。。
.html html 记事本/文本编辑器/集成开发工具 浏览器
.java java 记事本/文本编辑器/集成开发工具 jdk(高级语言.java-----》编译成机器码语言.class---->解释执行出结果)
jdk:java开发工具(包含jre(java运行环境))
搭建环境:安装jdk软件
测试是否安装成功:
javac
java
配置环境变量:
一.
path中添加jdk安装路径到bin的路径,多个环境变量之间用;隔开
D:\Program Files\Java\jdk1.7.0_07\bin
新建系统变量:
classpath
D:\Program Files\Java\jdk1.7.0_07\lib
二.
1.新建系统变量:
java_home
D:\Program Files\Java\jdk1.7.0_07(jdk的安装路径)
2.path:
;%java_home%\bin
classpath:
%java_home%\lib
bin:.exe文件
javac.exe: javac命令 编译(.java----->.class)
java.exe:java命令 解释执行(万能翻译官,执行)
lib:类库 jar包 .jar 若干.class文件的压缩包
;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\IDM Computer Solutions\UltraCompare;C:\Program Files\MySQL\MySQL Server 5.5\bin
如何运行一个java文件:
javac xx.java 编译 .java--->.class
java xx 解释执行 翻译成当前平台认识的机器语言,然后执行出结果
-----------------------------------------------
如何编写一个java文件
.java文件:类
类成员:变量,方法(函数),数组,流程控制语句,内部类。。。
权限修饰符 class 类名{
类成员
}
权限修饰符:public 缺省 default private
类的权限修饰符:public(整个工程) 缺省(当前包)
注意:如果类的权限修饰符是public,那么文件名必须和该类名必须一样
要求:会写hello,world
程序执行的入口是主函数 main函数
String args[]/String[] args
public static void main(String args[]){
//单行注释
/*
多行注释
*/
//打印输出
System.out.print();
System.out.println();
---------------------------------------
注意:
1.如果类用public修饰,那么该类所在的文件名和类名必须保持一致!
2.一个java文件中可以编写多个类,
只能有一个类被public修饰,并且被public修饰的类名和
文件名必须保持一致
如何编写java? .java
类:
变量
方法
数组
。。。
类的语法:
权限修饰符:public protected default(缺省) private
类的权限修饰符:public default(缺省)
类的权限修饰符 class 类名{
//类成员
}
标识符命名规范:同js
1.有效成员:字母,数字,下划线(_),美元符号($)
2.不能以数字开头
3.不能是关键字,保留字
4.长度不限,见名知意
命名规范:
工程名:大驼峰法
包名:公司的域名倒着写.项目名.模块名.子模块名 www.baidu.com com.baidu.baiduwenku.....
类名:大驼峰法 UserManagerSystem
变量名:小驼峰法 studentName
方法:小驼峰法
常量名:全大写(后面讲)
变量:
全局变量:不赋值可以使用 默认值
局部变量:使用前必须初始化值,不然会在编译期间报错
变量语法: int : 1,2 String:“号” “helloo111”
权限修饰符 数据类型 变量名;
权限修饰符 数据类型 变量名=值;
方法:
类有一个特殊函数:主函数 也叫 main函数
是所有程序执行的入口
public static void main(String args[]){
//方法体
}
权限修饰符 返回值类型 方法名([参数1数据类型 参数1名,参数2数据类型 参数2名]){
//方法体
[return 要返回的数据]
}
返回值类型:如果没有返回值,返回值类型就是void
类成员的使用:
主函数:
创建类的对象
类名 对象名=new 类名();
对象名.成员
java中的数据类型:
基本数据类型:8种
数值:6
(0)整型:4 byte(8位) short(16位) int(32位) long(64位)
(0.0)小数:2 float(32位) double(64位)
(空)字符:1 char ‘x’(16位)
(false)布尔:1 值:true/false
引用数据类型:null
进制的转换:
十进制:0-9
二进制:0-1
键盘:a -------------记事本:a
电信号 (二进制)------十进制数据-------ASCCI码-----字符a
ASCCI码表: a:97 A:65 回车:13
十进制---------》二进制
97(十进制)------》1100001(二进制)
97/2
48/2 1
24/2 0
12/2 0
6/2 0
3 /2 0
1 /2 1
0 1
byte b=97; 8位 0110 0001
最高位:符号位
1负 0正
short s=97;16位 0000 0000 0110 0001
二进制----------》十进制
110 0001
1*2(1-1)+0*2(2-1)+。。。+1*2(6-1)+1*2(7-1)
1+32+64
=97
八进制:0-7
十六进制:0-9 a-f
引用数据类型:类(String),数组,接口,枚举。。。
正数十进制--------》二进制 原码 符号位:0
负数十进制--------》二进制 补码
补码=原码取反变反码 反码+1=补码 符号位:1
-97:
97:1100001 原码
0011110 反码
0011111 补码
byte:8位 10011111
short:16位 10000000 00011111
cmd打jar包 :jar cvf 文件名.jar xx.class
包:相当于文件夹,但是不仅仅是文件夹
包的声明:package 包名
全类名:包名+类名
-------------------------------------------
做业:
给定类和方法,做一个java版计算器界面
import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
/*
* 参考api手册,做计算器界面。
* 窗口类JFrame:
方法:void setVisible(boolean b); //设置窗口是否显示
void setBounds(int x,int y,int width,int height)//右下方向
void add(Compent c);//属性可放文本框/按钮对象
void setLayout(LayoutManager l);//设置窗口布局f.setLayout(null)
JTextField 文本框类:
方法:jtf.setText("0");//文本框设初值
jtf.setBounds(7, 40, 332, 80);
jtf.setFont(ft);//设置文本的字体
jtf.setForeground(Color.red);//设置文本的前景色
jtf.setHorizontalAlignment(JTextField.RIGHT);//字体居右
JButton类:
方法:
btn.setText("你好");//设置按钮上的显示内容
btn.setBounds(7, 130, 60, 30);
Font类:
Font ft=new Font("楷体",Font.BOLD,24);//创建一个字体对象
*/
---------------------------------------------
数据类型的转换:
基本数据类型
引用数据类型(后面讲)
//规律:
/*
* 自动数据类型转换:
1.特殊情况:
布尔和数值之间没有 + 操作符
byte short int char +:先转为int然后做运算
2.自动数据类型转换:精度低------》精度高 如:(float(32) 赋值给 double(64))
但是
l(64)------>float (32) ok
l(64)---------->d(64) ok
原因:优先级: 小数》整数
精度
强制类型转换:精度高-----》精度低 报错 如果非要这样做,强制数据类型转换
强制类型转换会使数据失去精度
*/
ascci码
int------>char 能
char----->int 能
运算符:
1.算数运算符(7)
+
-
*
/:取商 11/2=5 ....1
%:取余数 11%2=1
++:自增 int i=1; i++; ++i;
--:自减
2.赋值运算符:
=
+=
-=
*=
/=
%=
3.比较运算符 结果:布尔类型
>
<
>=
<=
!=
==
4.逻辑运算符
& 与 且 两边都为true时结果为true
| 或 两边只要有一个为true结果就为true
! 非 取反
^ 异或 两边相同为false,不同为true
&& 短路与 如果第一个为 false 就直接给结果为false
|| 短路或 如果第一个为true 就直接给结果为true
5.三元运算
表达式?结果1:结果2
如果表达式成立,则该三元运算的结果是结果1
反之,就是结果2
6.位运算 ( 底层二进制:0 1)
1:真
0:假
符号位:1:负 0:正
7:0000 0111
2: 0000 0010
0:0
2:10
4:100
8:1000
~ :非 取反 0变1 1变0
~7:1111 1000
& :与 两边都为真时为真,其他都为假
7&2:0000 0010
|: 或 有一个为真就为真
>>:带符号右移 左边空出位子(符号位+非符号位) 非符号位: 正数:补0, 负数:补1
移2位
<<:带符号左移 :右边空出的位子补0
>>>:无符号右移 左边空出位子,全用0填充
------------------------------------------
流程控制语句:
1.表示选择的:
1.1 if...else...
if(结果是布尔类型的表达式){
//表达式成立时执行的代码
}else{
//表达式不成立时执行的代码
}
------------------------------
if(结果是布尔类型的表达式1){
//表达式1成立时执行的代码
}
if(结果是布尔类型的表达式2){
//表达式2成立时执行的代码
}
...
else{
//以上表达式都不成立时执行的代码
}
----------------------------
if(结果是布尔类型的表达式1){
//表达式1成立时执行的代码
}else if(结果是布尔类型的表达式1不成立的基础下,结果是布尔类型的表达式2){
结果是布尔类型的表达式1不成立的前提下,表达式2成立时执行的代码
}else if(结果是布尔类型的表达式1,2不成立的基础下,结果是布尔类型的表达式3){
结果是布尔类型的表达式1,2不成立的基础下,结果是布尔类型的表达式3成立时执行的代码
}...
1.2 开关语句
switch...case...
switch(byte/short/int/char类型变量){
case 参数变量表示的常量1:语句块1;break;
case 参数变量表示的常量2:语句块2;break;
。。。
default:语句块;//case都不匹配时执行
}
-----------------------------
2.表示循环
2.1
for循环
① ② ③
for(声明并初始化表示游标的变量;循环游标的范围;游标的变化方式){
// ④
循环体
}
执行顺序:①②④ ③②④ ③②④ 。。。
2.2
while循环
while(结果为布尔类型的表达式){
//结果为布尔类型的表达式时执行的要循环的代码
}
do{
代码块
}while(结果为布尔类型的表达式);
不管结果为布尔类型的表达式是否成立,都先执行代码块,
完了再判断结果为布尔类型的表达式是否成立,如果成立
循环执行代码块,不成立,循环结束
break:跳出整个循环
continue:跳出本次循环,进入下一趟循环
--------------------------------------------
数组:
一维数组:
数据类型:
基本数据类型:8
byte short int long float double char boolean
引用数据类型:类(String) 数组 接口 枚举。。。
基本数据的变量:1:1 int x=1;x=3; x???
数组:1:n
属性:length表示数组的长度
数组的长度:数组一旦声明,长度固定
数组中存放的数据类型必须一致。
数组下标从0开始
数组下标最大值:数组长度-1
数组的声明:
静态声明:
数组中存放的数据的数据类型 数组名[]={数据1,数据2,。。。}
或
数组中存放的数据的数据类型[] 数组名={数据1,数据2,。。。}
//数组中数据的表示:
数组名[下标]:
当它在等号右边时表示数组中下标为下标的位置的数据
当它在等号左边时表示数组某个位置的变量名
数组的遍历:
for(int 游标名i=0;i<数组名.length;i++){
打印 数组名[i];
}
增强的for循环
for(数组中的数据的数据类型:代表数组中的数据的变量名 数组名){
打印 代表数组中的数据的变量名;
}
动态声明:
数组中存放的数据的数据类型 数组名[]=new 数组中存放的数据的数据类型[数组的长度];
或
数组中存放的数据的数据类型[] 数组名=new 数组中存放的数据的数据类型[数组的长度];
和静态声明数组的区别:
数组中存放的数据的数据类型 数组名[];
数组名=new 数组中存放的数据的数据类型[数组的长度];
二维数组(数组的数组):
特殊的一维数组:
可以把二维数组看成一个一维数组,
这个一维数组中的每个数据又是一个一维数组
二维数组的声明:
静态声明:
实际存放的数据类型 数组名[][]={{数据1,数据2,。。},{数据1,数据2,。。},...};
或
实际存放的数据类型[][] 数组名={{数据1,数据2,。。},{数据1,数据2,。。},...};
动态声明:
实际存放的数据类型 数组名[][]=new 实际存放的数据类型[第一维长度(必须)][第二维长度];
实际存放的数据类型 数组名[][];
数组名=new 实际存放的数据类型[第一维长度(必须)][第二维长度];
二维数组的长度:length:特殊的一维数组的长度
二维数组的遍历:双重for循环
外层循环:遍历特殊的一维数组
内层循环:遍历作为特殊的一维数组数据的一维数组
数据的表示:
数组名[特殊的一维数组的下标][作为特殊的一维数组数据的一维数组的下标];
如果在等号右边,表示数据,
如果在等号左边,表示位置的变量。
数组的拷贝:
1.直接赋值
2.System.arraycopy(被拷贝的数组, 被拷贝的数组从哪个下标开始拷贝, 要拷贝到的数组,要拷贝的数组从哪个下标开始接受,拷贝的长度)
作业:完成图书管理系统项目
/*
完成一个图书管理系统:
功能:添加图书,查询图书,修改图书,删除图书,借阅图书,归还图书
图书数据:图书编号,图书名称,图书作者,图书价格,出版社,状态(已借阅,未借阅)
所用技术:数组,变量,方法,流程控制语句,运算符...等
*/
浙公网安备 33010602011771号