java知识概括
1.java是跨平台的纯面向对象的解释型和强类型语言
2.java之父James Gosling
3.java语言的特点:
1)面向对象:两个基本概念:类和对象。三大特征:封装,继承,多态
2)健壮:吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内 存的申请与释放等),提供了一个相对安全的内存管理和访问机制
3)跨平台:跨平台性
4.注释
1)单行注释 // 2)多行注释 /**/
5.printf的使用
%n 换行 相当于 \n
%c 单个字符
%d 十进制整数
%u 无符号十进制数
%f 十进制浮点数
%o 八进制数
%x 十六进制数
%s 字符串
%% 输出百分号
6. 数据类型
7.标识符
命名规范:
可以包含数字,字母, _ , $. 但是开头不能是数字,不能是 java 中的关键字。
命名是区分大小写的。
包名 :多单词组成时所有字母都小写: xxxyyyzzz
类名、接口名 :多单词组成时,所有单词的首字母大写: XxxYyyZzz 。帕斯卡命名规则
变量名、方法名 :多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:
xxxYyyZzz 。驼峰命名规则
常量名 :所有字母都大写。多单词时每个单词用下划线连接: XXX_YYY_ZZZ
注意 1 :在起名字时,为了提高阅读性,要尽量有意义, “ 见名知意 ” 。
注意 2 : java 采用 unicode 字符集,因此标识符也可以使用汉字声明,但是不建议使用
8.类型转换
自动类型转换: 容量小的类型自动转换为容量大的数据类型
byte,short,char 之间不会相互转换,他们三者在计算时首先转换为 int 类型
boolean 类型不能与其它数据类型运算
强制类型转换:
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符: (),但可能造成精度降低或溢出 , 格外要注意 。
9.进制方面:
二进制: 0,1 ,满 2 进 1. 以 0b 或 0B 开头。
二进制的整数有如下三种形式:
原码:直接将一个数值换成二进制数。最高位是符号位
负数的反码:是对原码按位取反,只是最高位(符号位)确定为 1 。
负数的补码:其反码加 1 。
计算机以二进制补码的形式保存所有的整数。
正数的原码、反码、补码都相同
负数的补码是其反码 +1
十进制 (decimal) : 0-9 ,满 10 进 1 。
八进制 (octal) : 0-7 ,满 8 进 1. 以数字 0 开头表示。
十六进制 (hex) : 0-9 及 A-F ,满 16 进 1. 以 0x 或 0X 开头表示。此处的 A-F 不区分大小写。如: 0x21AF +1=
0X21B0
10.运算符
11.选择结构
一(if语句)
1 if (){
}
2) if(){
} else(){
}
3) if(){
} else if (){}
else{}
二(switch语句)
1)switch( 表达式 ) 中表达式的值必须是下述几种类型之一: byte short char , int ,枚举 (jdk 5.0) , String (jdk7.0);
2)case子句中的值必须是常量,不能是变量名或不确定的表达式值;
3)同一个 switch 语句,所有 case 子句中的常量值互不相同;
4) break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;如果没有 break ,程序会顺序执行到 switch 结尾
12.循环结构
一(while循环):
while (循环条件){
循环操作
}
二(do.while循环)
do{
循环操作(此操作必定会执行一遍)
}while(循环条件)
三(for循环)
for(参数初始化;条件判断;更新循环变量){
循环操作
}
例如:for(int i=0;i<5;i++){
system.out.println(“it will pass away”)
}
三个跳转语句:
break: 可跳出循环而执行循环后面的语句
continue: 只能用在循环里面。作用:跳过循环体中剩余的语句而执行下一次循环
return: :并非专门用于结束循环的,它的功能是结束一个方法
13.数组
一维数组:
创建数组的方式:
1) 数据类型 [] 数组名 = new 数据类型 [ 长度 ];
2)数据类型 [] 数组名 = new 数据类型 []{ 数据 1, 数据 2, 数据 3, ..., 数据 n};
3)数据类型 [] 数组名 = { 数据 1, 数据 2, 数据 3, ..., 数据 n}
数据类型 数组名[]
每个数组都有一个属性 length 指明它的长度,例如: a.length 指明数组 a 的长度 ( 元素个数 )
数组一旦初始化,其长度是不可变的
具体的操作: 1.遍历数组 2.查找/修改/删除/添加 一个元素 3.数组反转 4.二分查找
排序方法: 冒泡排序 选择排序 插入排序 快速排序(使用递归)
二维数组:
int[][] arr = new int[3][2];
arr [ 0 ][ 1 ] = 78 ;(直接对单个元素赋值)
具体操作:1.打印杨辉三角
-面向对象
面向对象是基于面向过程,对象是将功能进行了封装 。
类和对象的关系:
使用一个通用类来定义同一类型的对象, 一个对象是类的一个实例。可以从一个类中创建多个实例。创建实例的过程 称为实例化。对象和实例经常是可以互换的。
如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,而不是 对象的设计
14.类的语法格式
15.局部变量和成员变量的区别
类中定义的变量称为成员变量,在方法中定义的变量是局部变量。
16.方法