JavaSE 基础知识总结 ---面向对象之前

Java是一种程序设计语言,可以用来开发跨平台的应用软件。

 

       特点:简单性、跨平台性、安全性、面向对象性

              面向对象的特点:以对象为核心,以事件为驱动,各个功能模块化

 

三大体系:JavaSEJavaEEJavaME

 

命名:    命名只能使用两个特殊字符:_ $,多个单词联用时每个单词首字母大写

              源文件名首字母大写,与 public 类名一致;

              类名不能以数字开头

              Java 大小写敏感,即区分大小写

 

运算符:算术运算符:+ - * / %

              关系运算符:< > <= >=

              逻辑运算符:&& || !

 

 

数据类型:

        基本数据类型:数值型:整型:byte/short/int/long

                                              浮点型:float/double

                             非数值型:char/boolean

 

       引用数据类型:String

 

       数据类型转换:大字节数据类型转换成小字节数据类型需要强制转换。。如 double d = **; int i = (int)d; 

       int字节小的数据做运算时,都默认自动转换为 int,所以应该用 int类型变量接收结果,或强转为对应的小字节类型数据

       小字节数据类型转换成大字节数据类型可以自动转换,

 

       当计算及格率等时,因除数和被除数都是整形,用 /除出来的结果也是整形,但实际结果一般都是小数,这时应该在表达式里加一个 double

 

 

分支结构:if(条件) {

              满足条件要执行的内容;

       }

       else if(条件) {

             

       }

       else{

              除以上条件以外的情况所发生的行为;

       }

 

       if esle 结构可以嵌套,可以只有 if ,但是不能只有 else

 

       switch(代表所有情况的变量) {

              case 情况1:  执行相应行为;

                     break;            ---切记每个 case后面都应该有个break,不要丢掉了。除非是没有 default的最后一个 case

              case 情况2: 

              case 情况3 ......       ---发生情况 2或者 3 时执行的行为

                     break;

              default:

                    其他情况应执行的行为;

       }

 

       switch() 可以接收 byte/short/int/char/enum(java5开始支持)/String(java7开始支持)类型的变量

 

 

一般情况下,两种分支结构都可以使用,但是 switch case更适合于等值判断,而 if else 更适合于区间判断

 

 

循环结构:注意循环的终止条件

       while(条件) {

              循环体

       }

 

       do

              循环体

       while(条件);

 

       for(初始化;终止条件;迭代) {        ---for 括号中的字段都可以放到外面,但是其中的分号必须存在

              循环体

       }

 

       三个循环之间的特点区别:

              1. 执行顺序:while 循环先判断条件,符合条件才开始循环;do while循环先执行一次,再判断条件,不符合则退出循环;因此当条件一开始就不符合时,

              while 将一次都不执行,而 do while 循环至少会执行一次。for循环先执行初始化,然后判断条件,符合条件则进入循环,再进行迭代,再次判断条件,不符合则退出。

              2. while do while 循环更适合没有确定终止条件的循环,而 for循环更适合有确定终止条件的循环。

              3. for循环更简洁,而且占用的内存更小,因为一些迭代变量只是在循环里起作用,循环结束后就释放空间。

 

       扩展:冒泡排序           ---延伸:选择排序,插入排序,快速排序

 

 

数组:用来存放一类相同数据类型的元素。  数组大小不可变。要想增加或减少数组长度,就得另辟空间新建数组,把原来的数组所有元素转到新数组。

       定义声明方式:以 int类型为例

                    一维数组:int[ ] arr = new int[10];    --推荐    左边的 [ ] 可以在数组名的左边,也可以在数组名的右边

                            int[ ] arr = {1, 2, 3};           --直接赋值,这种方式也不错,简单

                            int[ ] arr = new int[] {1, 2, 3}      --注意后面的 [ ]不能写数组大小了

 

                    二维数组:int[ ][ ] arr = new int [3][2];

                            int[ ][ ] arr = {{1,2}, {1, 2},{1, 2}};

                            int[ ][ ] arr = {1, 2, 1, 2, 1, 2};

 

                                  不规则数组:int[][] arr = new int[3][];

                                                 arr[0] = new int[2]; arr[1] = new int[1]; int[2] = new int[2];

                                            int[][] arr = {{1, 2}, {1}, {1, 2}};

 

 

       遍历数组:for循环            --- 注意数组下标的最大值是数组最大长度 - 1

                            ---一维数组:for(int i = 0; i < arr.length; i++) {

                                                 System.out.println(arr[i]);

                                          }

                            ---二维数组:for(int i = 0; i < arr.length; i++) {

                                          for(int j = 0; j < arr[i].length; j++) {

                                                 System.out.println(arr[i][j]);

                                          }

                                        }

 

              for each循环 ---一维数组:for(int iarr) {

                                          System.out.println( i );  --注意输出的只是 i,不是arr[i]

                                       }

 

                            ---二维数组:for(int[ ] a: arr) {          --注意 a是一个数组。。。不规则数组也可以这样遍历

                                          for(int a1: a) {

                                                 System.out.println( a1 );

                                          }

                                        }

 

 

类与对象:

 

类:有一类有相似特点的事物抽象而来的一个虚拟的概念

对象:一个个具体存在的事物

 

       联系:类可以实例化出多个对象,有相似部分的多个对象可以抽象化成一个类

 

 

成员变量:在方法外部,但在类内部,可以不用赋值,系统会给其默认值;作用域为整个类

局部变量:在方法内部,作用域为方法内;必须先赋值才能使用;

 

调用其他类的属性与方法,必须先 new出该类的对象,通过对象来调用相关属性和方法

              如:自己写了一个 Student ,里面有 name 属性和 getName()方法。我现在在测试类中调用属性:Student stu = new Student(); stu.name 就调用了属性

                                                                      stu.getName()就调用了方法

 

调用本类的属性就是直接写属性名,调用本类的方法就直接写方法名。

 

形参:形式参数,是在定义方法时使用的参数

实参:真实进行方法行为的参数

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值