黑马程序员——Java的基本操作
来源:互联网 发布:淘宝和京东的采购模式 编辑:程序博客网 时间:2024/05/19 12:11
------- android培训、java培训、期待与您交流! -------
Java语言基本组成:关键字、标识符、注释、变量和常量、运算符、语句、函数、数组。
基本数据类型对象包装类:
为了方便操作基本数据类型值,将其封装成了对象,在对象中定义属性和行为丰富了该数据的操作,用于描述该对象的类就称为基本数据类型对象包装类。该包装对象用于基本类型和字符串之间的转换。
基本类型——>字符串
1、基本类型数值加+“”
例:521+“”
2、用String类中的静态方法valueOf(基本数据类型);
字符串——>基本类型
1、使用包装类中的静态方法 xxx parseXxx("xxx类型的字符串");
例:int parseInt("abc");
Jdk1.5版本出现的新特性,自动装箱,简化书写,多了一个Null值
例: int i=4; Integer i=4;不用写成Integer i=new Integer();
Jdk1.5版本以后,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间。
Java中的注释
注释是一个程序员必须要具有的良好编程习惯。
初学者编写程序可以养成习惯:先写注释在写代码。
将自己的思想通过注释先整理出来,在用代码去体现。
因为代码仅仅是思想的一种体现形式而已。
注释作用:
1、注解说明程序
2、调试程序
单行注释://
对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
多行注释:/* …… */
多行注释中可以嵌套单行注释,多行注释中不能嵌套多行注释
文档注释:也是程序说明书,是给开发者用的 /** ….. */
对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
软件有两个说明书:程序说明书,使用说明书
标识符
在程序中自定义的一些名称。
由26个英文字母大小写,数字:0-9,符号:_$组成。
定义合法规则:
1、数字不能开头。
2、不可以使用关键字。
Java中严格区分大小写。
注意:起名字时,为了提高阅读性,要尽量起的有意义。
Java中的包名规范:
包名:多单词组成时所有字母都小写。
xxxyyyzzz
类名接口名:多单词组成时,所有首字母要大写。
XxxYxxZxx
变量名函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词的首字母大写。
xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
XXX_YYY_ZZZ
常量与变量
常量表示不能改变的值。
Java中常量的分类:
1、整数常量,所有整数。
2、小数常量,所有小数。
3、布尔型常量,较为特有,只有两个数值,true false。
4、字符常量,将一个数字字母或者符号用单引号(‘’)标识。
5、字符串常量,将一个或者多个字符用双引号标识。
6、null常量,只有一个数值就是Null。
对于整数Java有三种表现形式:
十进制:0-9,满10进1。
八进制:0-7,满8进1,用0开头表示。
十六进制:0-9,A-F,满16进1,用0x开头表示。
进制之间的转换
二进制转十进制:
原理:二进制乘以2的过程。
例:110的十进制
1 1 0 = 6
0*2(0)+1*2(1)+2*2(2)
0 + 2+ 4 = 6
110的十进制是6
十进制转二进制:
原理:对十进制数进行除二运算,从右往左。
例: 6的二进制
6的二进制是110
把6转换成二进制的方法:Interger.toBainaryString(6);
其他进制的转换:
转换十六进制,四个二进制位就是一个十六进制位。
例:90转成十六进制
90的十六进制是0x5A
转八进制,三个二进制代表一个八进制。
例:90转成八进制
90的八进制是132
负数的二进制表示:正数的二进制取反
取反:将二进制的1变成0,0变成1.
负数的最高位都是1,正数的最高位是0。
变量:就是将不确定的数据进行存储,也就是需要在内存中开辟一个空间。
如何开辟空间?就是通过明确数据类型,变量名称数据来完成。
定义变量的格式:数据类型变量名=初始化值;
变量在内存中的表现形式
例:int x;
什么时候定义变量:
当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作。
类型转换
有两种方法:
1、自动类型转换(也叫隐式类型转换)
2、强制类型转换(也叫显式类型转换)
表达式的数据类型自动提升:
1、所有byte型、short型和char的值将被提升到int型。
2、如果一个操作数是Long型,计算结果就是Long型。
3、如果一个操作数是float型,计算结果就是float型。
4、如果一个操作数是double型,计算结果就是double型。
例:自动转换
强制转换
b = (byte)(b+2);
运算符
运算符有:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符。
取模运算:
左边如果小于右边,结果是左边;左边等于右边,结果是0;右边是1,结果是0。如果有负数,看左边,左边是负,就是负,和右边无关。
例:
a=3;
b=a++; //先赋值在进行加1动作
b=++a; //行进行加1动作,在赋值
字符串数据和任何数据使用+都相连接,最终都会变成字符串。
例:
这两个有什么区别?
有什么区别:
S+=5;第一个是一次运算,有自动转换动作
S=s+5;没有自动转换动作,会提示错误,损失精度,运算后是int值,赋给short类型装不下,会编译出错。容易丢失精度。
逻辑运算符
逻辑运算符用于连接boolean布尔类型的表达式。
&特点:只要两边的boolean表达式结果,有一个为false,那么结果为false,
只有两边都为true,结果为true。
|特点:两边只要有一个true,结果为true。
只有两边都有false,结果为false。
^异或:就是和|有一点不一样,当true^true=false;
^特点:两边相同为false,两边不同为true。
&和&&的特点:
&:无论左边是true还是false,右边都运算。
&&:当左边为false时,右边不运算。
|:两边都运算。
||:左边为true时,右边不运算。
例:7^4 = 7
一个数异或同一个数两次,结果还是那个数,多用于加密。
位运算
<<左移:就是乘以2的移动的位数次幂
>>右移:就是除以2的移动的位数次幂
>>>无符号右移:无论最高位是0还是1,最高位都补0
>>右移:最高位补什么,由原有的最高位决定。
如果最高位是0,用0补空位;
如果最高位是1,用1补空位。
例: 6右移2位和1位
反码:其实就是取反,取反加1
例:6的反码:=—7
关键字
关键字的定义和特点:
定义:被java语言赋予了特殊含义的单词。
特点:关键字中所有字母都小写。
例:
用于定义数据类型的关键字
class interface byte int 等。
用于定义数据类型值的关键字
true false null
用于定义流程控制的关键字
If else switch case do 等。
语句
程序流程控制
1、判断语句
2、选择语句
3、循环语句
IF语句
三种格式:
1、if(条件表达式)
{
执行语句;
}
2、if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3、if(条件表达式)
{
执行语句;
}
else if(条件表达式)
{
执行语句;
}
…….
else
{
执行语句;
}
例:
根据用户定义的数值不同,打印对应的星期英文。
int num =0;
if(num ==1)
{
System.out.println(“星期一”);
}
else if(num == 2)
{
System.out.println(“星期二”);
}
Swithch语句
格式:
switch(表达式)
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
……….
default:
执行语句;
break;
}
特点:
1、switch语句选择的类型只有四种:byte int short char;
2、case之间和default没有顺序,先执行第一个case,没有匹配的case执行default。
3、结束switch语句的两种情况:遇到break,执行到switch语句结束。
4、如果匹配的case或default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
例:
根据指定月份,打印该月份所属的季节。
switch(x)
{
case 3:
case 4:
case 5:
System.out.println(X+"春季");
break;
case 6:
case 7:
case 8:
System.out.println(X+"夏季");
break;
case 9:
case 10:
case 11:
System.out.println(X+"秋季");
break;
case 12:
case 1:
case 2:
System.out.println(X+"冬季");
break;
default:
System.out.println("输入月份错误!");
}
IF和Switch很像,具体什么场景下应用什么语句?
如果判断的具体数值不多,而是符合Byte Short int char四种类型,虽然两个语句都可以使用,建议使用Switch语句,因为效率高。
其他情况:对区间判断,对结果为Boolean类型判断,使用IF,if的范围更广。
循环结构
代表语句:while do while for
while格式:
while(条件表达式)
{
执行语句;
}
do while格式:
do
{
执行语句;
}
while(条件表达式);
While的特点:先判断条件,只有条件满足在执行循环体。
Do while的特点:先执行循环体,在判断条件。
简单一句话:do while无论条件是否满足,循环体至少执行一次。
例:
while(x<10)
{
sum = sum+x;
x++;
}
for循环格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
1、变量有自己的作用域,对于for来说,如果将用于控制循环的增量定义在for语句中,那么该变量只在for语句内有效。For语句执行完毕,该变量在内存中被释放。
2、For和while可以进行互换,如果需要定义循环增量,用for更为合适。
总结:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
例:
for(int x=1;x<arr.length;x++)
{
if(arr[x]>arr[max])
{
max=x;
}
}
循环注意:
一定要明确哪些语句是需要参与循环,哪些不需要。
其他控制语句
break:跳出,应用范围:选择语句和循环结构
continue:继续,应用于循环结构。
特点:
Continue:只能作用于循环结构,继续循环。
特点:结束本次循环,继续下一次循环。
1、break和continue语句作用的范围
2、break和 continue单独出现时,下面可以有任何语句,因为都执行不到。
函数
什么是函数:函数就是定义在类中具有特定功能的一段独立的小程序。函数也称为方法。
函数的格式:
修饰符返回值类型函数名(参数类型形式参数1,参数类型形式参数2…)
{
执行语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类型。
参数类型:是形式参数的数据类型。
形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
实际参数:传递给形式参数的具体数值。
return:用于结束函数。
返回值:该值会返回给调用者。
函数的特点:
1、定义函数可以将功能代码进行封装。
2、便于对该功能进行复用。
3、函数只有被调用才能执行。
4、函数的出现提高了代码的复用性。
5、对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一句省略不写。
注意:函数只能调用函数,不可以在函数内部定义函数。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。重载只和参数列表有关系。
什么时候用重载?
当定义的功能相同,但参与的运算的未知内容不同,那么,这时就定义一个函数名称以表示起功能,方便阅读,而通过参数列表的不同来区分多个同名的函数。
例:
数组
数组的定义:同一种数据类型的集合,其实数组就是一个容器。
数组的好处:可以自动给数组的元素从0开始编号,方便操作这些元素。
格式:元素类型[]数组名= new元素类型[元素个数或数组长度];
例:int[]arr = new arr[12];
数组的操作:
获取数组中的元素,通常会用到遍历。
数组中有一个属性可以直接获取到数组中元素的个数,length
使用方式:数组名称.length=
- 黑马程序员——Java的基本操作
- 黑马程序员——【Java】IO——操作基本数据类型的流:DataInputStream & DataOutputStream
- 黑马程序员——IO流的常用基本操作
- 黑马程序员-Java操作Oracle的基本方式总结
- 黑马程序员-java中关于文件的一些基本操作
- 黑马程序员——Java的基本构成元素
- 黑马程序员——Java中的反射的基本简介
- 黑马程序员——Java基本语法
- 黑马程序员——Java基本语法
- 黑马程序员——java的IO之流操作的基本规律,Properties类,打印流,序列流
- 黑马程序员——java 文件的常用操作
- 黑马程序员——java中字符串的常见操作
- 黑马程序员java学习—流的操作
- 黑马程序员—java基础学习--JavaBean的内省操作
- 黑马程序员---数据库的基本操作
- 黑马程序员------流操作的基本规律
- 黑马程序员 StringBuffer的一些基本操作
- 黑马程序员 数组的基本操作代码
- Linux下的硬件驱动——USB设备(上)(驱动配置部分)
- /proc/cpuinfo
- Linux进程间通信之信号
- JAVA基础11--行为型模式(观察者模式2,备忘录模式)
- AFNetworking学习与使用(一)
- 黑马程序员——Java的基本操作
- 栈元素的排序
- Redis集群方案,Codis安装测试
- Spark编程注意事项
- dll 动态库文件的一些问题
- hdu4510
- 关于图片查看的小结
- Android中处理崩溃异常
- Java的JNI:使用Java调用C程序(一)