首页 > 其他 > 详细

黑马程序员-基础部分

时间:2014-06-11 08:35:32      阅读:350      评论:0      收藏:0      [点我收藏+]

基础知识

1、什么是跨平台性?原理是什么?JVM

不同的系统都可以运行。系统安装虚拟机。。

我的总结:Java 程序之所以能够实现跨平台运行,是因为它根本就不直接在任何底层

平台上运行,有虚拟机调用。

2、Jre 和Jdk 的区别?

JDK;包含虚拟机和类库,也包含JRE

JRE:(Java Runtime Environment),java 运行环境

简单而言:使用JDK 开发完成的java 程序,交给JRE 去运行。

3、java 虚拟机JVM

Java Virtual Machine ,简称JVM; 读取字节码文件。

Java 虚拟机是不跨平台的.

4.临时配置path.  Set path =d:\ jdk\bin只在当前dos下有效。

清空环境变量(dos)set path=什么都不写

虚拟机在启动时先找classpath,在找当前目录。

Set classpath=c:\;

Set classpath=c:\

加分号时,如果classpath找不到,还到当前目录下找。

不加分好,只在classpath下找,最好不要加分号。

多路径配置。

Set classpath = c:\; d:\  

Set classpath= .;c:\; d:\  点表示当前目录。

Path与classpath的区别:

Path先找当前。在找path

Classpath先找classpath,再找当前。

5、Java 程序运行机制

编译: javac 文件名.文件后缀名

总结:Java 程序的组成:Java 源文件,字节码文件。

6、Java 语法格式

main 方法的作用:

程序的入口,保证程序的独立运行,被JVM 调用

7、代码注释:单行//,多行/* */,文档注释/** */

.文档注释/** */

总结:多行和文档注释都不能嵌套使用。

8、Java 中的标识符

命名规则: 26个字母大小写,0-9。

(1) 由字母、数字、下划线、$组成,不能以数字开头

注意:此处的字母还可以是中文,日文等;  

(3) 不得使用java 中的关键字和保留字,main。

9、java 中的常量和变量

变量的概念:

就是将不确定的数据进行存储。

常量:不能改变的数值。整数,小数,boolean,字符,字符串,null.

字符:字母,数字,符号。用单引号标识。

八进制:用0开头表示。

十六进制:用0x开头表示。

负数的二进制:如:-6,6的二进制取反加+1。

10、Java 成员变量和局部变量

局部:定义在方法上或方法中,需要初始化

成员:定义在类中,有默认的初始化值。 

11、基本数据类型

Java 语言的基本数据类型总共有8 种:

byte :1个字节,short:2个字节 ,int:4个字节,long:8个字节,float:4个字节,double:8个字节,char:2个字节

Boolean:1个字节,Float:单精度:小数点后8位,小数点后11位

Float=2.3:这行代码有问题,因为小数默认的时double。可以进行标识,float=2.3f,  还有float = 1/3;右边的结果是int型的。

char ch =’a’; ch+1=98 在运算的时候ch占2个八位,这时候就要类型提升为int型,就体现为了97.  ‘1’的十进制是46.  char类型可以参与运算,因为它的字符在ASCII都有对应的数字。

12、基本数据类型转换之向上转型和向下转换

向上转换: 转换时遵循以下原则:

容量小的类型可自动转换为容量大的数据类型;

byte,short,char → int → long → float → double

byte,short,char 之间不会相互转换,他们在计算时首先会转换为int 类型。

boolean 类型是不可以转换为其他基本数据类型。

小转大,自动!自动类型转换(也叫隐式类型转换)

大转小,强转!强制类型转换(也叫显式类型转换)

13、Java 的运算符

运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种:

算术运算符(+ 、— 、* 、/ 、%)

赋值运算符(= 、+=、-=、*=、/=,、%=)

关系运算符(>、>=、<、<=、!=)

条件运算符(&&、||、!&、|、^)

位运算符(&、|、^、~、>>、<<、<<<、>>>)

int a = -3;

       a = a %15;

       左边是负数,等于左边

       int a = 16;

       a = a % -3;

       右边是负数,不用管负号

 14,.赋值运算符

       x+=4:把左右两边的和赋给左边相当于x = x +4             

       short x = 4;/short 两个八位

       x = x +4;//先做加法运算,在做赋值那算,分两步,

       short x = 4;            x+=4;//只做一次运算,就是讲左右两边倒和赋值给左边。   

上面两个异同;x = x + 4;编译失败,因为x会被提升为int类型,无法赋值给short类型;x+=4;编译通过,因为+=运算符在给x赋值时,自动完成了强制转换。      

15 转义字符;通过反斜线来转变字母的含义

\n;换行

\b;推格。相当于backspace

\r;按下回车键。windows系统中,回车符由两个字符来表示\r\n

\t;制表符。相当于Tab键

System.out.println("\"java\"");  :打印双引号java,转移双引号,反斜杠必须在被转移字母的前面

System.out.println("\\java\\");  ;打印\java\

char =‘你‘  ;char类型是两个字节,汉字也是两个字节

16逻辑运算符

作用:用于连接不boolean类型的表达式

&  AND(与) 

false&ture   结果;false

false&false  结果;false

ture&ture    结果;ture

如何表达3<x<6  3<x&x<6 x>3&x<6

只要有一个位false,那么结果为false

| or(或)

有一个为真结果为真。

^ 异或

true^false = true

false^flase=false

true^true=false

两边相同为false,两边不同为真。

&& AND(短路)

int a=2;

a>3&&a<6,与单与的区别是:左边为假,右边不运算,&:左边无论真假,右边都要运算。

||:当左边为真时,右边不运算。同上。

17位运算 的算术效率最高。

>>:右移,移除有效位。相当于除以2的位数次幂。

<<:左移,乘以2d位数次幂。

>>>:无符号右移,没有无符号左移!最高位补0

~:反码。

&:6&2:0&1=0,0&0=0,1&1=1;

|: 6|2:0|1=1,0|0=0

^(异或):1^1=0,1^0=1,0^0=0;

18、三目运算符 

“三目运算符”,语法格式:

x ? y : z;

其中x 为boolean 类型表达式,先计算x 的值,若为true,则整个三目运算符的结果是表达式y 的值,否则就是z 的值。条件:x必须有结果。

19、程序流程控制

判断,选择,循环。If,switch,while,for

if 语句:

在fi,else fi,else只要有一个满足条件就结束。

switch 控制语句

 int a=4;

              switch(a){

              case 1:

                     System.out.println("a");

                     break;

              default:

                     System.out.println("b");

              case 2:

                     System.out.println("c");

                     break;

              }}}

结果:b c

如果遇不到要的结果,执行default,还没有就继续往下执行,知道遇到break;

注意:

(1)case 之间与default 没有顺序。先执行第一个case,都没有匹配的case ,再执行default。

如果匹配的case 或者default 没有对应的break,那么程序会从第一次匹配的case 语句开始

继续向下执行,运行可以执行的语句,直到遇到break 或者switch 结束为止。

(2)Swtich结束的方法:1.遇到break,2.遇到大括号

(3)switch 语句只能使用byte、char、short、int 四种基本类型以及它们的包装类和枚举,只有default放在最后时,才可以省略到break.

20、三大循环结构:

用于处理需要重复执行的操作;

根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落我们称为循环体;

while:事先不需要知道循环执行多少次;

do while:同上,只是至少要执行一次(先做,后判断);

for:需要知道循环次数;  

总结:do while 特点是无论条件是否满足,循环体至少被执行一次。  

              int x =0;

              do{

                     System.out.println(x);

                     x++;                    

              }

              while(x<10);//别忘了分号

备注:

1, for 里面的3 个表达式运行的顺序,初始化表达式只读一次。

2, while 与for 可以互换,区别在于for 为了循环而定义的变量在for 循环结束就在内存中释放。而while 循环使用的变量在循环结束后还可以继续使用。可以说while没有释放资源,但是for循环中却一直开辟空间。

3, 最简单无限循环格式:while(true) , for(;;) 

}

21、流程控制   

break:终止该层循环; 应用于循环和判断

continue:跳过该层循环,仅仅应用于循环。

注:

①:若这两个语句离开应用范围,存在是没有意义的。

②:这个两个语句后面都不能有语句,因为执行不到。

③:continue 语句是跳过本次循环,继续下次循环。

④:标签的出现,可以让这两个语句作用于指定的循环。 

方法与数组 

参数列表(参数的类型,参数的个数,参数的顺序)  

1、方法特点

它可以实现独立的功能;

必须定义在类里面;

它只有被调用才会执行;

它可以被重复使用;

方法结束后方法里的对象失去引用;

2,如何定义方法:

1 明确该功能运算后的结果.明确返回值类型;

2 明确在实现该功能过程中是否有未知内容参与运算,确定参数列表;  

3、什么是方法的重载(Overload)?

概念:同名,参数列表不同。与返回值无关。 

4、数组特点:

有索引,元素类型相同,长度一旦固定,不可改变。  

5、一维数组的声明与初始化:  

静态初始化:int arr[] = {1,l};

动态初始化:int arr[] = new int[2]; arr[1]=0;arr[2]=1;

6、数组的使用:

判断数组是否重复:循环嵌套,定住一个与所有的比较

求最大值: 用max记录住最大的那个。冒泡排序完了,获取最后一个。

冒泡法排序:相邻比较,交换位置。

选择排序:定住一个,与所有的比较。

折半查找:数组要先排序。

7、二维数组:

二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组),

可以看做是一张表格。

初始化:

动态初始化

int[ ][ ] arr = new int[3][2];

定义了一个二维数组,其中有3 个一维数组,每一个一维数组中有2 个元素

静态初始化

int[ ][ ] arr = new int[][]{{1,2},{3,4},{5,6}};

int[ ][ ] arr = {{1,2},{3,4},{5,6}};  

int默认值是0 boolean默认是false,double默认值是0.0,float默认值0.0,字符串null,char默认值是空格,

黑马程序员-基础部分,布布扣,bubuko.com

黑马程序员-基础部分

原文:http://www.cnblogs.com/heimaprogramer/p/3773135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!