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(被拷贝的数组, 被拷贝的数组从哪个下标开始拷贝,  要拷贝到的数组,要拷贝的数组从哪个下标开始接受,拷贝的长度)
  作业:完成图书管理系统项目
  /*
  完成一个图书管理系统:
 功能:添加图书,查询图书,修改图书,删除图书,借阅图书,归还图书
 图书数据:图书编号,图书名称,图书作者,图书价格,出版社,状态(已借阅,未借阅)
 所用技术:数组,变量,方法,流程控制语句,运算符...等
  */
 

 

posted @ 2016-10-31 19:57  zgp000  阅读(83)  评论(0)    收藏  举报