博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java (基础自总结)
阅读量:7121 次
发布时间:2019-06-28

本文共 4520 字,大约阅读时间需要 15 分钟。

  hot3.png

Java 基础

一、命名规则和规范:(规则必须严格遵守;规范是约定是良好的习惯)

a) 变量命名:

*数字,字母,下划线,$符号组成 开头不能有数字

i. 规则:以字母、下划线”_”、”$” 开头,后可包括字母、数字、_、$,不能包含其他特殊字符,不能使用JAVA关键字(int float double boolean class public private import String Array new …)。

ii.规范:第一个单词首字母小写,其后单词首字母要大写,其他均为小写。(userName).

b)  方法命名:

i.  规则与变量命名相同,方法中的参数命名与变量命名相同 (getStuInfoById())

ii. 规范与变量相同

c)  类命名:

i.   规则:以字母、下划线”_”、”$” 开头,后可包括字母、数字、_、$,不能包含其他特殊字符,不能使用JAVA关键字。

ii.   规范:第一个单词首字母大写,其后单词首字母要大写,其他均为小写。

d)  包命名

i.   规则:不能以”.”开头和结束  a.b.c

ii.  规范:以小写字母组成

二、基本数据类型/类型转换

a)  基本类型:int  double  float  char  boolean

b)  变量声明 / 赋值:

数据类型 变量名 [ = 初值 ];

int  a  =  10;

int  b;

b = 100;

c)  类型自动转换

条件:两种类型兼容,如int double float char

           目标类型大于源类型,如 doubleßfloatßintßchar

d)   强制类型转换

(新类型) 变量或表达式

int a =100;

double b=a; //自动转换

int c;

c=(int) b;  //强制转换

字符编码:

注*: ‘a’à97、 ‘A’à65、 ‘1’à49

 

i++++i的故事:

int i = 1;                                            int i = 1;

    System.out.println(i++);                System.out.println(++i);

    System.out.println(i);                    System.out.println(i);

结果:1,2                                          结果: 2,2

== 和 equals 的区别:

1、基本数据类型比较  ==和Equals都比较两个值是否相等。相等为true 否则为false;  2、引用对象比较  ==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;

New 等于开辟了一个新的空间保存值:

String str1 = "Jack";                                            String str1 = "Jack";

String str2 = "Jack";                                            String str2 = new String("Jack");

              if(str1 == str2){                                        if(str1 == str2){

                     System.out.println("OK");                    System.out.println("OK");

              }else{                                                        }else{

                     System.out.println("No Ok");                System.out.println("No Ok");

              }                                                                }

输出:Ok                                                                    输出:No OK

String str1 = "Jack";

String str2 = "Mike";

str2 = str1;

              if(str1 == str2){

                     System.out.println("OK");

              }else{

                     System.out.println("No Ok");

              }

输出:Ok

三、运算符:结果为真(true) 或 假(false)

a)  关系运算符:比较两个表达式

            >  <  >=  <=  ==  !=

b)  逻辑运算符:连接多个条件

            &&  与/并且  当两个条件同时为真时,结果为真;否则为假

            ||    或/或者  当两个条件任意一个为真时,结果为真;两个同时为假时结果为假

            !  非/取反  条件为真,结果为假;条件为假,结果为真

四、条件语句:根据不同的条件执行不同的操作

a)        if 语句格式  分成以下三种:

            if(表达式){                if(表达式){            if(表达式){

            }                                }else{                   }else if(表达式){

                                             }                           }else{

                                                                         }

b)        switch 语句格式  int char enum   可以不加break(从满足条件的case开始运行,一直到碰到break,或者switch结构结束)  -----一般做等值判断  Struct

switch (表达式){

       case 值1:

              语句集1;

              [break;]

       default:

              语句集n;

              [break;]

}

五、循环语句:重复连续执行相同的操作

a)     格式:

    1.先判断条件,再执行循环体(循环体执行次数0--n)适用于循环次数不确定的情况

    while(条件){                    

        循环体:                            

    }  

   2.  先执行循环体,后判断条件(循环体执行次数1--n)适用于循环次数不确定的情况

    do{

        循环体:

    }while(条件)

    3. 适用于循环次数确定的情况

    for(循环变量初始化;条件;循环变量增值){

       循环体;

    }

b)   循环跳转语句

break;退出循环,继续执行循环外的语句;

continue;结束本次循环,继续下次循环;

c)   注意事项:

i. 确保循环的有限性(不要出现死循环):

        在while 或 do…while 循环中,要有改变循环条件结果语句或退出循环的语句。

        在for循环中,要注意循环条件与循环变量改变的协调性

ii. 在循环体中声明的变量(包括在for中声明的循环变量)只能在循环中使用,循环体外不能使用。

六、  类和对象

什么是类:  类是一个模板,规定了对象必须要有的属性和方法 抽象

对象:特指某一个存在实体

a)  概念:

i.   类:具有相同特征和行为的一组对象的集合。是创建此类实体的模板,是一种数据类型。

ii.  对象:根据类创建出来的实实在在的实体(看的见/摸的着),是一个对象变量。

b)  类格式

public class 类名{

       //定义属性

       类型 属性1;

       类型 属性2;

       。。。。。。

       //定义方法

       public 返回类型 方法名(参数类型 参数1,参数类型 参数2,…){

              方法体;

              [return 表达式;]

              。。。。。。

       }

       。。。。。。//其他方法定义

}

c)   使用类创建对象:为更好地理解,建议在其他类(测试类)中创建该类对象

d)   注意:

Student st;  //该对象st未实例化,不能直接使用,在适用前要执行:

st = new Student();

       ----以上代码等同于

       Student st =  new Student();

       -------------------------------------------

       所有属性和方法都是通过对象名引用的:(不包含静态方法和静态属性)

       对象名.属性 = 值;

       对象名.方法(参数);

       --------------------------------------------------

       在调用方法时,要按参数的个数及顺序

 

七、 数组:具有相同数据类型、相同变量名的一组数据

a)   声明及初始化,注意只有在声明时才能对整个数组初始化

int[] a = {1,2,3,4};  //java[]可以在类型或者标识后面

int[] a = new int[]{1,2,3,4}; //不需要在括号中写长度

int[] a = new int[4];

错误:int[] a = new int[4]{1,2,3,4};

         int[] a = new int[];

         int[] a = new int[4];   a={1,2,3,4};         //声明后的数组,只能逐一元素赋值

b)   使用数组

i.  数组通过下标引用各个元素,下标0---数组.length-1 (元素个数-1)

a[0] = 10; a[3] = 30;

 ii. 数组的操作----循环

赋值:

int[] a = new int[4];

Scanner input = new Scanner(System.in);

       for (int i=0; i<a.length; i++){

              a[i] = input.nextInt();

       }

显示

       for (int i=0; i<a.length; i++){

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

       }

求和

       int sum = 0;

       for (int i=0; i<a.length; i++){

              sum = sum + a[i];

       }

       System.out.println(sum);

 iii.  排序

Arrays.sort(a);     //将数组a 按值大小升序排列 默认由小到大

 iv.  对象数组(补充)

Student[] st = new Student[10];      //声明对象数组,但没有实例化

for (int i=0; i<st.length; i++){

       st[i] = new Student();               //实例化数组元素

}

st[0].name = “张三”;                      //设置第一个元素的属性

st[0].addScore(10);                          //调用对象方法

注*:二维数组:

int[][] nums = new int[3][4];

 //第二行第三列

 //nums[1][2] = 1;

int num = nums[1][2];

八、 字符串

a)   String

indexOf(“”):找到指定字符串在源字符串中有没有(第一次出现的位置),如果有就返回索引,没有就返回-1

b)   lastIndexOf:找到指定字符串在源字符串中有没有(最后一次出现的位置),如果有就返回索引,没有就返回-1

c)   subString(int start,int end):从开始位置到结束位置之间的字符串

第一个从0开始,第二个从1开始,如果只有一个参数,就从此截取到最后

d)   toUpperCase()—大写   toLowerCase()—小写

e)   trim()  去除左右空格

f)    常用方法参见P295表2

g)   StringBuffer:它是一个真正的引用类型  常用方法参见P340表3

重点说明基本类型和引用类型的区别:

基本类型(int,float,double,boolean…):直接存储值,如果你对其重新赋值,会开辟新的空间。如果你将其做为参数传递,传递的是它的副本,原始值不会改变。

引用类型(Array  new 自定义的类):它里面存储的是对象的地址空间。如果做为参数传递,传递的是地址。原始值和目标值会一起变化。

String是引用类型,String有一个特点:值不可变,所以在重新赋值的时候会开辟新的空间。  往往这么认为:引用类型的定义方式,基本类型的操作方式(值不可变)

转载于:https://my.oschina.net/Shilu/blog/781157

你可能感兴趣的文章
Specifying High-Resolution Images in iOS
查看>>
01.部署NopCommerce时遇到的问题
查看>>
windows写文件到ubuntu之ftp
查看>>
dtruss
查看>>
Java 8 新特性-菜鸟教程 (5) -Java 8 Stream
查看>>
Linq学习之旅——Linq to Objects之延期执行方法(上篇)
查看>>
ios中core Plot (2)
查看>>
60佳优秀的国外电子商务网站设计案例(下篇)
查看>>
产品经理的核心价值
查看>>
asp.net ckeditor 无法获取值
查看>>
使用过滤器过滤asp.net mvc输出内容
查看>>
[你必须知道的.NET] 第一回:恩怨情仇:is和as
查看>>
C语言中scanf函数的实现
查看>>
Ajax Post 与 Get 实例
查看>>
node-webkit教程(13)gpu支持信息查看
查看>>
创建序列和相应的视图
查看>>
ftruncate(改变文件大小)
查看>>
如果把表单数据的校验交给了javascript那么后台还有没有必要对数据做校验呢
查看>>
HDU 2089 不要62(数位DP&#183;记忆化搜索)
查看>>
intelliJ idea代码折叠
查看>>