黑马程序员——java概述
2015-06-11 20:11
232 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一,前言
软件:一系列按照特定顺序组织的计算机数据和指令的的集合。
人机交互:软件的出现实现了人与计算机之间更好的交互,交互方式有以下两种。
1, 图形化界面:这种方式实现简单直观,使用者易于接受容易上手操作。
2, 命令行方式:需要控制台输出特定指令,让计算机完成一些特定操作,较为麻烦需要记住一些命令。
其中命令行方式有:
dir:列出当前目录下的文件以及文件夹
md:创建目录(文件夹)
rd:删除目录
cd:进入指定目录
cd..:退出当前目录,返回到上一级目录
cd\:退回到根目录
del:删除文件
del*:删除所有文件
exit:退出dos命令行
echo:创建文件。
cls:清屏
help:显示所有命令及描述
exit:关闭
示例:md kkk (就会在指定盘下创建一个kkk的文件夹)
rd kkk(就会再把这个目录删除了)
注意:在doc命令行里面删除文件夹,必须要先保证这个文件夹是空的
二,java语言概述
Java语言特点:
1, 是sun(stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
2, 是一种面向Internet的一门编程语言。
3, 随着java技术在web方面的不断成熟,已经成为web应用程序的首先开发语言。
4, 是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Java语言三种技术架构:
J2EE(Java 2 Platform Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet Jsp 等,主要针对于Web应用程序开发。
J2SE(Java 2 Platform Standard Edition)标准版:是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。
J2ME(Java 2 Platform Micro Edition)小型版:是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费产品,如手机中的应用程序等。
但是在5.0版本后,SUN公司将以上三种技术架构更名为JAVAEE、JAVASE、JAVAME。
跨平台:通过java语言编写的应用程序在不同的系统平台上都可以运行。
跨平台原理:
在不同的平台安装对应的jvm虚拟机(java virtual machine)
JRE (java runtime environment) java运行环境 包含jvm
JDK (java development kit) java开发工具包 包含jre
下图是java官方网站上提供的有关JRE和JDK之间的关系:
简单而言:使用JDK开发完成java程序,交给JRE去运行。
配置环境变量
在jdk下载,安装完成以后,可以配置环境变量,配置环境变量path(为了更好的利用Java开发环境)
配置环境变量(两种方法):
第一种方式: 一劳永逸
1,电脑—属性—高级系统—设置—高级—环境变量
2,编辑path命令,将javac命令文件所在目录的路径放入path路径中,并用;隔开,环境变量中的各个路径之间一定要以分号进行分隔。(设置path环境 变量的时候千万不要删除掉原来的内容。否则,很多程序将无法运行。)
3.,点击确定。然后,一定要新开一个新的DOS命令行窗口,再输入javac命令,如果显示的是javac的参数信息,说明path环境变量配置成功。如下图:
注意:
一定要将javac命令文件所在目录的路径放入path环境变量的开头。否则,如果计算机上以前已经安装了其他版本的JDK并且也已经配置了path环境变量,那么先执行的javac命令就是以前的JDK安装目录下的javac命令。因为windows系统是按照path路径从头向后搜索各个目录的。
第二种方式: 临时配置
在DOS命令行输入
set 查看全部环境变量
set 环境变量名 查看指定变量名的值
set 环境变量名= 指定变量名置空
set 环境变量名=值 指定变量设置指定值
示例:如果想要在原有环境变量上加值是haha,那么set path=haha;%path%
(%path%是原有的环境变量)
注意:临时配置环境变量的方式只在当前DOS命令行窗口有效。窗口关闭,配置即消失。
path 和classpath的区别:path先查找当前目录下找,没找到,再在配置的路径下查找,classpath先查找设置的路径,在查找当前目录。
三,java程序开发体验——helloworld
用记事本编写源代码如何运行?
1,保存为.java文件(java源文件)
2,在dos命令行敲 javac 文件名.java 编译产生.class字节码文件
3,在dos命令行敲 java 类名 即可运行程序
示例:
运行结果如下图:
四,注释
注释的作用:
1, 注解说明解释程序。
2, 调试程序。
注释分为三种
1,单行注释 // 注释文字
2,多行注释 /* 注释文字 */
3,文档注释/** 注释文字 */
文档注释是java语言的特殊注释,对程序进行说明后可以通过jdk当中的javadoc.exe将这个程序中的文档注释提取出来,形成一个网页,这个网页就是程序中的使用说明书。
例如:
/**
作者:张三
版本:V1.0
*/
注意:
单行注释中可添加单行注释
多行注释中可添加单行注释
但是多行注释中不可有多行注释
五,Java语言的基础组成
标识符
1,在程序中自定义一些名称
2, 由26个英文字母大小写,数字0~9,符号:_$组成
3, 定义合法标示符规则
a,数字不可以开头
b,不可以使用关键字
c,java中严格区分大小写
d,在起名字的时候为了提高阅读性,尽量有意义。
注意:main不是关键字,但它是被虚拟机所识别的名称。
Java中名称的规则
1, 包名:多单词组成时,所有字母都小写。如xxxyyyzzz
2, 类名接口名:多单词组成时,所有字母的首字母大写。如XxxYyyZzz
3, 变量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个字母首字母大写。xxxYyyZzz
4, 常量名:所有字母都大写,多单词时每个单词都用下划线连接。如XXX_YYY_ZZZ
Java中常量分类
1, 整数常量。所有整数
2, 小数常量。所有小数
3, 布尔型常量。较为特有只有两个数值 true 和false
4, 字符常量。将一个数字字母或常量用(‘ ’)标识
5, 字符串常量。将一个或多个字符用(” ”)
6, null常量。只有一个数值就是null
例如:4是整数
‘4’是字符
“ab”是字符串
注意:’ ’里面只能有一个字符 “ ”空字符的字符串
对于整数java有三种表现形式
1, 十进制 0~9 满10进1
2, 八进制0~7 满8进1,用0开头表示
3, 十六进制 0~9,A~F,满16进1,用0x开头表示
注意:一个字节是八个二进制位组成
二进制的3位代表一个数值,就是八进制
二进制的4位代表一个数值,就是十六进制
规律:进制越大,表现形式越短
十进制和二进制之间的转换
十进制——>二进制 原理:对十进制数进行除2取余数
二进制——>十进制 原理:二进制乘以2的幂数
其他进制的转换
转成十六进制(四个二进制位就是一个十六进制位)
转成八进制(三个二进制位就是一个八进制位)
负数的二进制表现形式:
对应的正数二进制取反加一
例如:6的二进制是110
-6其实就是6的二进制取反加1
取反:就是将二进制的1变成0,0变成1
0000-0000 0000-0000 0000-0000 0000-0110
取反后:
1111-1111 1111-1111 1111-1111 1111-1001
+0000-0000 0000-0000 0000-0000 0000-0001(加一)
-------------------------------------------------------------------
1111-1111 1111-1111 1111-1111 1111-1010 = -6
注意:负数的二进制最高位是1,正数二进制最高位是0
变量的概念:
1, 内存中的一个存储区域
2, 该区域有自己的名称(变量名)和类型(数据类型)
3, 该区域的数据可以再在同一类型范围内不断变化
为什么要定义变量?
用来不断地存放同一类型的常量,并可以重复使用
使用变量注意
1,变量的作用范围(一对{}之间有效)
2,初始化值
定义变量的格式:
数据类型 变量名 = 初始化值
注意:格式是固定的。记住格式,以不变应万变
理解:变量就如同数学中的未知数
变量就是将不确定的数据进行存储,也就是需要在内存开辟一个空间,如何开辟内存空间呢?
答:就是通过明确数据类型,变量名称,数据来完成的
什么时候定义变量?
答:当数据不确定时,需要进行对数据存储时,就定义一个变量来完成存储动作。
类型转换:
类型的自动提升:
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。
例如:
byte b = 3 ;
int c;
c= b + 2; //b会自动提升为int类型进行运算。
强制转换:
例如:
byte a = 3;
a = a + 4;
运行结果如下:
这时改成如下图:
a = (byte)(a+4);//将a+4的结果强制转换成byte类型。
转义字符:
通过\ 来转变后面字母或者符号的含义
\n:换行
\b:退格。相当于Backspace
\r:按下回车键。windows系统,回车符是由两个字符来表示\r\n
\t:制表符。相当于tab键。
比较运算符:
注意:
1,区别比较运算符“==”和赋值运算符,前者是比较符号左右两边数据是否相等,而后者是把符号右边的数据赋给左边的变量。
2,“==”、“!=”可以用于对象的比较,而对象的比较通常不是很简单地通过对象名字或对象类型比较,而是有自己的equals()
函数。
逻辑运算符:
"&"符号的运算特点:
true & true = true;
true & false = false;
false & true = false;
false & false = false;
"&"符号运算规律:
运算的两边只要有一个是false,结果肯定是false。
只有两边都为true,结果才是true。
"|"符号的运算特点:
true | true = true;
true | false = true;
false | true = true;
false | false = false;
"|"符号运算规律:
运算的两边只要有一个是true,结果肯定是true。
只有两边都为false,结果是false。
"^"符号的运算特点:
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
"^"符号运算规律:
^符号的两边结果如果相同,结果是false。
两边的结果不同,结果是true。
"!"符号运算规律:
true = false;
!false = true;
!!true = true;
&&:和&运算的结果是一样的,但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参加运算,这样可以提升效率。
||:和|运算的结果是一样的,但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参加运算,这样可以提升效率。
三元运算符:
格式:
(条件表达式) ? 表达式1 : 表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2。
位移运算符:
<<:把数据对象的二进制位依次向左移n位,右边空出位置补0。
例如:20<<2,计算结果为01010000,十进制值为,80。
>>>:把数据对象的二进制位依次向右移n位,左边空出位置补0。
例如:20>>>2,计算结果为00000101,十进制值为5。
>>:把数据对象的二进制位依次向右移n位,对于高位出现的空位,原来高位是什么就用什么补这个空位。
右移几位其实就是该数据除以2的几次幂。
左移几位其实就是该数据乘以2的几次幂。
六,程序流程控制
if语句
格式一:
if(条件表达式)
执行语句;
格式二:
if(条件表达式)
{
执行语句1;
}
else
{
执行语句2;
}
格式三:
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
注意:
1,if else结构 简写格式:变量 =(条件表达式)?表达式1:表达式2;,
2,if( 表达式 )后面不能加分号,否则无论表达式为true或者false,都不执行任何语句。
三元运算法:
好处:可以简化if else代码。
弊端:因为是一个运算符所以运算完必须要有一个结果。
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
...
default:
执行语句;
break;
}
注意:
1,switch语句选择的类型只有四种:byte,short,int,char。
2,case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3, 结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5,进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
if和switch特点和应用:
if:
1. 对具体的值进行判断。
2. 对区间判断。
3. 对运算结果是boolean类型的表达式进行判断。
switch:
1. 对具体的值进行判断。
2. 值的个数通常是固定的。
(对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。)
while语句
格式:
while( 条件表达式 )
{
执行语句;
}
注意:不要写while(x < 3);这样的语句,后面的分号就是循环体,代表不执行任何语句,这个循环就成了一个死循环。
do while语句
格式:
do
{
执行语句;
}
while( 条件表达式 );
while和do while的区别:
do while语句的特点:无论条件是否满足,循环体至少执行一次。
while如果条件不满足,循环体一次都不会执行。
for语句
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
例如:
会报错,因为System.out.println("b"),不知道真假,for循环中间的循环条件表达式要么真,要么假。
for和while的区别:
1,变量有自己的作用域,对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只有在for语句内有效。
for语句执行完毕。该变量在内存中被释放。
2,for和while可以进行互换,如果需要定义循环增量,for更合适。
总结:什么时候使用循环语句?
当要对某些语句执行很多次时,就使用循环语句。
跳转语句
1,break语句
该语句作用是直接跳出循环语句或者判断分支语句。应用范围:选择结构和循环结构
2,continue语句
该语句的作用是程序从循环体的开始出执行,不必考虑循环体中已经执行了多少轮循环。应用于循环结构
注意:
1,两个语句离开应用范围,是没有意义的。
2,这两个语句单独存在,下面都不可以有语句,因为执行不到。
3,continue语句是结束本次循环继续下次循环。
4,标号的出现可以让这两个语句作用于指定的范围。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一,前言
软件:一系列按照特定顺序组织的计算机数据和指令的的集合。
人机交互:软件的出现实现了人与计算机之间更好的交互,交互方式有以下两种。
1, 图形化界面:这种方式实现简单直观,使用者易于接受容易上手操作。
2, 命令行方式:需要控制台输出特定指令,让计算机完成一些特定操作,较为麻烦需要记住一些命令。
其中命令行方式有:
dir:列出当前目录下的文件以及文件夹
md:创建目录(文件夹)
rd:删除目录
cd:进入指定目录
cd..:退出当前目录,返回到上一级目录
cd\:退回到根目录
del:删除文件
del*:删除所有文件
exit:退出dos命令行
echo:创建文件。
cls:清屏
help:显示所有命令及描述
exit:关闭
示例:md kkk (就会在指定盘下创建一个kkk的文件夹)
rd kkk(就会再把这个目录删除了)
注意:在doc命令行里面删除文件夹,必须要先保证这个文件夹是空的
二,java语言概述
Java语言特点:
1, 是sun(stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
2, 是一种面向Internet的一门编程语言。
3, 随着java技术在web方面的不断成熟,已经成为web应用程序的首先开发语言。
4, 是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Java语言三种技术架构:
J2EE(Java 2 Platform Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如:Servlet Jsp 等,主要针对于Web应用程序开发。
J2SE(Java 2 Platform Standard Edition)标准版:是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,比如Java版的扫雷。
J2ME(Java 2 Platform Micro Edition)小型版:是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费产品,如手机中的应用程序等。
但是在5.0版本后,SUN公司将以上三种技术架构更名为JAVAEE、JAVASE、JAVAME。
跨平台:通过java语言编写的应用程序在不同的系统平台上都可以运行。
跨平台原理:
在不同的平台安装对应的jvm虚拟机(java virtual machine)
JRE (java runtime environment) java运行环境 包含jvm
JDK (java development kit) java开发工具包 包含jre
下图是java官方网站上提供的有关JRE和JDK之间的关系:
简单而言:使用JDK开发完成java程序,交给JRE去运行。
配置环境变量
在jdk下载,安装完成以后,可以配置环境变量,配置环境变量path(为了更好的利用Java开发环境)
配置环境变量(两种方法):
第一种方式: 一劳永逸
1,电脑—属性—高级系统—设置—高级—环境变量
2,编辑path命令,将javac命令文件所在目录的路径放入path路径中,并用;隔开,环境变量中的各个路径之间一定要以分号进行分隔。(设置path环境 变量的时候千万不要删除掉原来的内容。否则,很多程序将无法运行。)
3.,点击确定。然后,一定要新开一个新的DOS命令行窗口,再输入javac命令,如果显示的是javac的参数信息,说明path环境变量配置成功。如下图:
注意:
一定要将javac命令文件所在目录的路径放入path环境变量的开头。否则,如果计算机上以前已经安装了其他版本的JDK并且也已经配置了path环境变量,那么先执行的javac命令就是以前的JDK安装目录下的javac命令。因为windows系统是按照path路径从头向后搜索各个目录的。
第二种方式: 临时配置
在DOS命令行输入
set 查看全部环境变量
set 环境变量名 查看指定变量名的值
set 环境变量名= 指定变量名置空
set 环境变量名=值 指定变量设置指定值
示例:如果想要在原有环境变量上加值是haha,那么set path=haha;%path%
(%path%是原有的环境变量)
注意:临时配置环境变量的方式只在当前DOS命令行窗口有效。窗口关闭,配置即消失。
path 和classpath的区别:path先查找当前目录下找,没找到,再在配置的路径下查找,classpath先查找设置的路径,在查找当前目录。
三,java程序开发体验——helloworld
用记事本编写源代码如何运行?
1,保存为.java文件(java源文件)
2,在dos命令行敲 javac 文件名.java 编译产生.class字节码文件
3,在dos命令行敲 java 类名 即可运行程序
示例:
//定义一个类 public class HelloWorld { //主函数 public static void main(String[] args){ System.out.println("大家好,欢迎进入java编程世界!!!"); } }
运行结果如下图:
四,注释
注释的作用:
1, 注解说明解释程序。
2, 调试程序。
注释分为三种
1,单行注释 // 注释文字
2,多行注释 /* 注释文字 */
3,文档注释/** 注释文字 */
文档注释是java语言的特殊注释,对程序进行说明后可以通过jdk当中的javadoc.exe将这个程序中的文档注释提取出来,形成一个网页,这个网页就是程序中的使用说明书。
例如:
/**
作者:张三
版本:V1.0
*/
注意:
单行注释中可添加单行注释
多行注释中可添加单行注释
但是多行注释中不可有多行注释
五,Java语言的基础组成
标识符
1,在程序中自定义一些名称
2, 由26个英文字母大小写,数字0~9,符号:_$组成
3, 定义合法标示符规则
a,数字不可以开头
b,不可以使用关键字
c,java中严格区分大小写
d,在起名字的时候为了提高阅读性,尽量有意义。
注意:main不是关键字,但它是被虚拟机所识别的名称。
Java中名称的规则
1, 包名:多单词组成时,所有字母都小写。如xxxyyyzzz
2, 类名接口名:多单词组成时,所有字母的首字母大写。如XxxYyyZzz
3, 变量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个字母首字母大写。xxxYyyZzz
4, 常量名:所有字母都大写,多单词时每个单词都用下划线连接。如XXX_YYY_ZZZ
Java中常量分类
1, 整数常量。所有整数
2, 小数常量。所有小数
3, 布尔型常量。较为特有只有两个数值 true 和false
4, 字符常量。将一个数字字母或常量用(‘ ’)标识
5, 字符串常量。将一个或多个字符用(” ”)
6, null常量。只有一个数值就是null
例如:4是整数
‘4’是字符
“ab”是字符串
注意:’ ’里面只能有一个字符 “ ”空字符的字符串
对于整数java有三种表现形式
1, 十进制 0~9 满10进1
2, 八进制0~7 满8进1,用0开头表示
3, 十六进制 0~9,A~F,满16进1,用0x开头表示
注意:一个字节是八个二进制位组成
二进制的3位代表一个数值,就是八进制
二进制的4位代表一个数值,就是十六进制
规律:进制越大,表现形式越短
十进制和二进制之间的转换
十进制——>二进制 原理:对十进制数进行除2取余数
二进制——>十进制 原理:二进制乘以2的幂数
其他进制的转换
转成十六进制(四个二进制位就是一个十六进制位)
转成八进制(三个二进制位就是一个八进制位)
负数的二进制表现形式:
对应的正数二进制取反加一
例如:6的二进制是110
-6其实就是6的二进制取反加1
取反:就是将二进制的1变成0,0变成1
0000-0000 0000-0000 0000-0000 0000-0110
取反后:
1111-1111 1111-1111 1111-1111 1111-1001
+0000-0000 0000-0000 0000-0000 0000-0001(加一)
-------------------------------------------------------------------
1111-1111 1111-1111 1111-1111 1111-1010 = -6
注意:负数的二进制最高位是1,正数二进制最高位是0
变量的概念:
1, 内存中的一个存储区域
2, 该区域有自己的名称(变量名)和类型(数据类型)
3, 该区域的数据可以再在同一类型范围内不断变化
为什么要定义变量?
用来不断地存放同一类型的常量,并可以重复使用
使用变量注意
1,变量的作用范围(一对{}之间有效)
2,初始化值
定义变量的格式:
数据类型 变量名 = 初始化值
注意:格式是固定的。记住格式,以不变应万变
理解:变量就如同数学中的未知数
变量就是将不确定的数据进行存储,也就是需要在内存开辟一个空间,如何开辟内存空间呢?
答:就是通过明确数据类型,变量名称,数据来完成的
什么时候定义变量?
答:当数据不确定时,需要进行对数据存储时,就定义一个变量来完成存储动作。
类型转换:
类型的自动提升:
在运算中,当低类型数据与高类型数据进行计算时,系统会自动将表达式中的低类型数据提升到高类型。
例如:
byte b = 3 ;
int c;
c= b + 2; //b会自动提升为int类型进行运算。
强制转换:
例如:
byte a = 3;
a = a + 4;
运行结果如下:
这时改成如下图:
a = (byte)(a+4);//将a+4的结果强制转换成byte类型。
转义字符:
通过\ 来转变后面字母或者符号的含义
\n:换行
\b:退格。相当于Backspace
\r:按下回车键。windows系统,回车符是由两个字符来表示\r\n
\t:制表符。相当于tab键。
比较运算符:
注意:
1,区别比较运算符“==”和赋值运算符,前者是比较符号左右两边数据是否相等,而后者是把符号右边的数据赋给左边的变量。
2,“==”、“!=”可以用于对象的比较,而对象的比较通常不是很简单地通过对象名字或对象类型比较,而是有自己的equals()
函数。
逻辑运算符:
"&"符号的运算特点:
true & true = true;
true & false = false;
false & true = false;
false & false = false;
"&"符号运算规律:
运算的两边只要有一个是false,结果肯定是false。
只有两边都为true,结果才是true。
"|"符号的运算特点:
true | true = true;
true | false = true;
false | true = true;
false | false = false;
"|"符号运算规律:
运算的两边只要有一个是true,结果肯定是true。
只有两边都为false,结果是false。
"^"符号的运算特点:
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
"^"符号运算规律:
^符号的两边结果如果相同,结果是false。
两边的结果不同,结果是true。
"!"符号运算规律:
true = false;
!false = true;
!!true = true;
&&:和&运算的结果是一样的,但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参加运算,这样可以提升效率。
||:和|运算的结果是一样的,但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参加运算,这样可以提升效率。
三元运算符:
格式:
(条件表达式) ? 表达式1 : 表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2。
位移运算符:
<<:把数据对象的二进制位依次向左移n位,右边空出位置补0。
例如:20<<2,计算结果为01010000,十进制值为,80。
>>>:把数据对象的二进制位依次向右移n位,左边空出位置补0。
例如:20>>>2,计算结果为00000101,十进制值为5。
>>:把数据对象的二进制位依次向右移n位,对于高位出现的空位,原来高位是什么就用什么补这个空位。
右移几位其实就是该数据除以2的几次幂。
左移几位其实就是该数据乘以2的几次幂。
六,程序流程控制
if语句
格式一:
if(条件表达式)
执行语句;
格式二:
if(条件表达式)
{
执行语句1;
}
else
{
执行语句2;
}
格式三:
if(条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
……
else
{
执行语句;
}
注意:
1,if else结构 简写格式:变量 =(条件表达式)?表达式1:表达式2;,
2,if( 表达式 )后面不能加分号,否则无论表达式为true或者false,都不执行任何语句。
三元运算法:
好处:可以简化if else代码。
弊端:因为是一个运算符所以运算完必须要有一个结果。
switch语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
...
default:
执行语句;
break;
}
注意:
1,switch语句选择的类型只有四种:byte,short,int,char。
2,case与default没有顺序。先执行第一个case,没有匹配的case执行default。
3, 结束switch语句的两种情况:①遇到break,②执行到switch语句结束。
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
5,进入switch语句后,执行顺序是先执行case,然后从上到下,最后再执行default。即使default放在case上面,执行顺序也不变。
if和switch特点和应用:
if:
1. 对具体的值进行判断。
2. 对区间判断。
3. 对运算结果是boolean类型的表达式进行判断。
switch:
1. 对具体的值进行判断。
2. 值的个数通常是固定的。
(对于几个固定的值判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高。)
while语句
格式:
while( 条件表达式 )
{
执行语句;
}
注意:不要写while(x < 3);这样的语句,后面的分号就是循环体,代表不执行任何语句,这个循环就成了一个死循环。
do while语句
格式:
do
{
执行语句;
}
while( 条件表达式 );
while和do while的区别:
do while语句的特点:无论条件是否满足,循环体至少执行一次。
while如果条件不满足,循环体一次都不会执行。
for语句
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
例如:
会报错,因为System.out.println("b"),不知道真假,for循环中间的循环条件表达式要么真,要么假。
for和while的区别:
1,变量有自己的作用域,对于for来讲:如果将用于控制循环的增量定义在for语句中,那么该变量只有在for语句内有效。
for语句执行完毕。该变量在内存中被释放。
2,for和while可以进行互换,如果需要定义循环增量,for更合适。
总结:什么时候使用循环语句?
当要对某些语句执行很多次时,就使用循环语句。
跳转语句
1,break语句
该语句作用是直接跳出循环语句或者判断分支语句。应用范围:选择结构和循环结构
2,continue语句
该语句的作用是程序从循环体的开始出执行,不必考虑循环体中已经执行了多少轮循环。应用于循环结构
注意:
1,两个语句离开应用范围,是没有意义的。
2,这两个语句单独存在,下面都不可以有语句,因为执行不到。
3,continue语句是结束本次循环继续下次循环。
4,标号的出现可以让这两个语句作用于指定的范围。
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
相关文章推荐
- 黑马程序员——java基础——集合框架(一:单列集合(Collection体系))
- 一个java程序员必备的9项基本技能
- Android Java 程序员必备开发工具
- 致程序员
- 算法经典面试题整理(java实现)
- 随思自己的职业历程之写博客
- 面试49
- 黑马程序员——java基础-泛型和集合框架工具类
- 黑马程序员--指针(1)
- 收兵 这几个月不再去面试了
- Java程序员应当掌握的排序算法
- Multiply Strings——面试题
- 性能测试面试题汇总(三)
- 性能测试面试题汇总(四)
- 【面试题】-求未知长度的链表的中间节点(快慢指针)
- 性能测试面试题汇总(二)
- 一个合格的程序员应该读过哪些书[会不会被吓到? :)]
- 性能测试面试题汇总(一)
- 面试:如何测试一个杯子
- 黑马程序员——java基础-集合