黑马程序员_java语言的基础部分
来源:互联网 发布:新浪nba 今日数据趣谈 编辑:程序博客网 时间:2024/06/05 20:20
---------- android培训、java培训、期待与您交流! ----------
java语言的基础组成
1.关键字:被java语言赋予了特殊含义的单词,所有的字母都是小写的,要注意java语言是严格区分大小写的; 2.标识符:程序中自定义的一种名称,由_、$、0-9之间的数字和26个字母(大小写)组成; 注意: 1.数字不不可以开头; 2.不可以使用关键字; 3.主函数名称main不是关键字,被虚拟机识别; 4.在java中,为了提高阅读性,起名的时候尽量起的有意义。 命名格式:变量名和函数名 xxxYyyZzz 常量名 XXX_YYY 类名 接口名 XxxYyyZzz(首字母大写) 注释:Java中常用的三种注释方式: 1.单行注释://,能嵌套多行注释; 2.多行注释:/**/,能嵌套单行注释,不能嵌套多行注释,因为结尾不对; 3.文档注释:/***/,可以通过javadoc来提取,生成说明书,放到网页中,这也是和多行注释的区别; 对于多行和单行注释,被注释的文字不会被虚拟机识别。 作用:1.说明、注解程序; 2.调试程序代码。 注意:要养成一边注释一边写代码的习惯,先写程序的注释(需求、步骤、思路),再写代码; 如Hello World的程序步骤: 1.通过class关键字定义一个类,将代码写到该类的区间中(区间要有阶梯层次感); 2.为了保证该类的独立运行,在类中定义一个主函数,格式:public static void main(String[] args),这 里的args是数组名称,可以自定义; 3.保存成一个扩展名为.java的java文件; 4.在dos控制台中通过javac工具对java文件进行编译,格式:javac 文件名.java 5.再通过java命令对生成的类文件进行执行,格式:java 文件名 3.常量:在程序中其值不会改变的量; 整数常量:所有整数; 小数常量:所有小数; 字符常量:将一个字母或者符号用''括起来来标示,如'e'; 字符串常量:将一个或者多个字符用""括起来标示;如"erwer"; 布尔型常量:只有两个值true和false; 空常量:只有一个数值null; 对于整数,java中有四种表现形式: 二进制:0-1,满2进1; 十进制:0-9,满10进1; 八进制:0-7,满8进1,用0开头表示; 十六进制:0-15,满16进1,用0X开头表示。 进制的特点:八个二进制=一个字节;进制越大,表现形式越短。 进制间的转换: 二——>十进制:二进制乘以2的过程; 十——>二进制:对十进制数进行除2运算; 其它进制转换,先转成二进制再转。 负数的二进制表现形式:正数的二进制取反加一;如-6的二进制: 6: 0000-0000 0000-0000 0000-0000 0000-0110 对6取反:1111-1111 1111-1111 1111-1111 1111-1001 加1操作:0000-0000 0000-0000 0000-0000 0000-0001 ———————————————————————————————————————————————— 结果: 1111-1111 1111-1111 1111-1111 1111-1010 负数的最高位为1,而正数最高位为0. 4.变量:将不确定的数据进行存储,也就是需要在内存中开辟一空间,即通过明确数据类型、变量名称和数据来完成; 定义的格式:数据类型 变量名=初始化值;如 int i=4; 其它数据类型:byte b=2;//-128~127;若byte b=128,则提示可能会损失精度; short s=30000;//-32768~32767; long k=4l,后面加上L的小写,表示long型; char ch='4'; boolean b=true; 什么时候定义变量? 当数据不确定,需要对数据进行存储时定义一变量完成存储动作。 注意: 1.byte b=3;b=b+2; System.out.println(b);这个在b=b+2时会报错,因为在这里b占一个8位,而2是int型的占4个8位,不能直接进行运算。 2.System.out.println('a')与System.out.println('a'+1)的区别:前者输出a,后者输出98,因为将char型'a'自动提升为int型再加1。 自动类型提升:小单位向大单位提升;byte b=2;int i=3;i=i+b; 强制类型转换:强制将大单位转向小单位;byte b=2;b=(byte)(b+2); 5.运算符:提供符号对数据进行运算。 1.算术运算符:+ - * / % ++ -- ++/--前缀式和后缀式参与运算时的区别: 前缀式:先自增(减),再赋值 后缀式:先赋值,再自增(减) 2.赋值运算符:+= -= = *= /= %= short s=3,s+=2和s=s+2的区别 s=s+2会报错,2为int类型,所以s+2会隐式转换为int类型,而s为short类型,int比short精度高,这样会损失 精度; 而s+=2在内部能够自动完成将结果转换成对应类型的操作。 3.比较运算符:< > <= >= == != 比较运算符的结果都是boolean型的,就两值,要么false要么true。 4.逻辑运算符:& | ^ ! && || &和&&的区别?&是左右两边只要有一个条件的表达式为假结果都为假,即两边都要参与运算;而&&是当左边值为假时 ,右边不再参与运算,结果为假。 5.位运算符:<< >> >>> ^ ~ & | << >> >>> 2*8=2<<3 >>和>>>的区别? >>:移出后,若高位为0则左边用0补齐,若高位为1则左边用1补齐;而>>>:无论高位为0还是1结 果都用0补齐。 ^的特殊之处:一个数与另一个数同时异或两次,结果仍是原来那数。
6 语句: 语句什么时候用:当需要对程序的流程进行控制的时候使用。简单说,告诉计算机在进行运算时该按照什么样的执行顺序来完 成。 条件语句:对数据或者区间范围进行判断,或者对运算结构是布尔类型的进行判断(if语句)。 三元运算符:运算完要有值的出现。 if()else语句:可以操写在其他表达式中。 选择语句:对几个固定的值(byte、short、int、char)进行判断的时候(switch语句)。 特点:case和default之间没有顺序,首先执行第一个case语句,没有匹配的case语句就执行default语句,遇brea k或者}结束。 循环语句:当需要对某些语句执行很多次的时候。 while:先判断条件是否成立,若成立则执行。 do while:无论条件是否成立,都先执行一次,再判断。 for:for循环是在循环内初始化变量,在循环外不能使用; while:在循环外初始化变量,循环内外都能使用。 for循环嵌套:在打印图形时,外循环控制行,内循环控制列。 break:适用于switch语句和循环;当它单独存在的时候,下面不要定义任何语句,因为执行不到。 continue:适用于循环;当它单独存在时,下面的语句也执行不到。作用是结束本次循环,继续下次循环。
7 函数:对功能代码进行封装,以便提高复用性。
如何定义一个函数? 1.明确这个函数功能的结果,其实是在明确函数的返回值类型; 2.明确这个函数功能的未知内容,其实是在明确函数的参数列表(参数类型和参数个数)。 写程序时,都需要将功能都封装到具体的函数中,主函数中只要进行的动作就是调用,以验证自定义函数功能的正确性。 误区: //正确情况。 public static void main(String[] args) { int num=add(4,5); System.out.println(num); } public static int add(int a,int b) { return a+b; } //误区情况 public static void main(String[] args) { add(4,5); } public static int add(int a,int b) { System.out.println(a+b);//需求是将两个数加起来求和,并不需要打印出来 } 函数的重载:一个类中允许存在两个及以上函数名一致的函数,只要参数列表不同就行。 什么时候使用? 当要定义的功能一致但未知内容不一致时,可以让其函数名一致,但参数列表(参数个数和参数类型)不同。 注意:重载只在一个类中有效。 好处:相同功能不用定义多个名称,方便调用和阅读,提高复用性。 return语句的作用:1.结束循环语句 2.返回结果给调用 8 数组:同一种类型数据的集合。
特点:1.定义数组必须明确元素的类型。 2.定义数组必须明确元素的个数(数组的长度)。 3.数组的长度必须是固定的,不能改变。 4.操作数组的核心思想是索引(角标)。 5.给元素进行编号(从0开始,到Length-1结束)。 什么时候使用数组? 当数据多的时候,必须先想到用数组进行存储,然后再通过数组对其中的数据进行操作。 数组这个实体仅具备一个属性,就是Length,可以直接获取数组的长度。 常见操作: 1.最值 2.排序 3.查找(对于有序数组可以进行折半查找——二分法查找) 二维数组:其实就是在数组中存储的还是数组。 Java的内存划分: 1.寄存器,cpu涉及的区域。 2.本地方法区,是和系统相关的代码存储区域。 3.栈内存:存储的都是局部变量,变量运算区域一结束,就释放。 局部变量:在方法上的参数,方法内的变量,语句中的变量。 4.堆内存:存储的是数组和对象,简单说,堆内存中存储都是实体。 实体就是可以存储多个数据地方。记住,只要是用new建立都存储在堆内存中。 特点:1.任何实体都有内存地址值。 2.堆内存中的变量都有默认初始化值。 3.垃圾回收机制。 5.方法区:存储函数的地方。 数组的查找: 顺序查找:要定义找不到时返回的值; 折半查找:数组必须是有序的,找不到的条件begin>end.
---------- android培训
、java培训
、期待与您交流! ----------