Java入门自学笔记

一、变量

  • 变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
  • 标识符的构造规则:只能有字母、数字和下划线组成,数字不能在首位,java的关键字(保留字)不可以用做标识符。
int price = 0; //类型 变量 初始值
  • java是一种强类型语言,所有的变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。
  • 数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。
  • 当浮点数和整数一起运算时,java会将整数转化为浮点数,然后进行浮点数的运算。浮点数计算是有误差的。

 

二、强制类型转换

int i = (int)(32/3.0); //(类型)值

 

三、break和continue

  • 在循环前可以放一个标号来标示循环:label:。带标号的break和continue对那个循环起作用。

 

四、数组

double[] averages = new double[20]; //<类型>[] <名字>=new <类型>[元素个数];
  • 元素个数必须是整数,元素个数必须给出,元素个数可以是变量。
  • 数组变量是数组的管理者而非数组本身。
  • 数组必须创建出来然后交给数组变量来管理。
  • 数组变量之间的赋值是管理权限的赋予。
  • 数组变量之间的比较是判断是否管理同一个数组。
  • 最小下标为0,最大下标是元素个数-1,编译器不会检查是否为有效下标。运行时出现了无效的下标,可能导致程序终止。

 

五、二维数组初始化

int [][] a = {
    {1,2,3,4},
    {1,2,3,4},  
};
  • 编译器来数数。
  • 每行一个{},逗号分割。
  • 最后的逗号可以存在,有古老的传统。
  • 如果省略,表示补零。

 

六、for-each循环

for(<类型><变量>:<数组>){
}

 

七、字符:char

  • 单引号表示。包括汉字。字符可以比较大小

 

八、字符串:String 

  • 双引号表示。String是一个类,String的变量是对象的管理者而非所有者。就像数组变量是数组的管理者而非所有者一样。
String s = new String("a string");  //new=创建
  • 创建了一个String的对象,用"a string"初始化这个对象,创建管理这个对象的变量s.
String s = "a s string"
  • 编译器帮你创建了一个String累的对象交给s来管理。
  • s1==s2        //比较是否同一个字符串
  • s1.equals(s2) //比较字符串内容是否相同,应该用.equals来比较
  • s1.compareTo(s2)    //比较大下
  • compareToIgnoreCase //不区分大小写
  • .length()   //字符串长度
  • s.charAt(index)
  • 不可以for-each循环遍历字符串
  • s.substring(n)       //得到从n位置到末尾的全部内容
  • s.substring(b,e)    //得到从b位置到e号位置之前的全部内容
  • s.indexOf(c)          //c字符所在的位置,-1表示不存在
  • s.indexOf(c,n)       //从n位置开始找c
  • s.lastIndexOf(c)    //从右开始找
  • s.startWith(t)
  • s.endWith(t)
  • s.trim()
  • s.replace(c1,c2)
  • s.toLowerCase()
  • s.toUpperCase()
  • 所有的字符串都是不可变,操作结果是新的字符串。

  

九、包裹类型

  • 包裹类型可以获得该类型的最大最小值。
  • Integer:MIN_VALUE
  • Integer:MAX_VALUE

 

十、输入

  • in.next();读入一个单词,单词的标志是空格。空格包括空格、tab和换行。
  • in.nextLine();读入一整行。

 

十一、Math

  • abs
  • pow
  • random
  • round

 

十二、代码质量

  • 单一出口
  • “代码复制”是程序质量不良的表现

 

十三、函数

  1. 调用函数

  • 函数名(参数值)
  • ()起到了表示函数调用的重要作用
  • 即使没有参数也需要()
  • 如果有参数,则需要给出正确的数量、顺序、类型正确
  • 这些值会被按照顺序依次用来初始化函数中的参数

2.从函数中返回值

  • return停止函数的执行,并送回一个值
  • return;
  • return 表达式;

3.没有返回值的函数

  • void 函数名(参数表)
  • 不能使用带值的return
  • 可以没有return
  • 调用的时候不能做返回值的赋值

4.本地变量

  • 函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量。
  • 定义在函数内部的变量就是本地变量。
  • 参数也是本地变量。

5.变量的生存期和作用域

  • 生存期:什么时候这个变量开始出现了,到什么时候消亡了
  • 作用域:在(代码内)什么范围内可以访问这个变量(这个变量可以起作用)
  • 本地变量的生存期和作用域都是函数内部。

6.本地变量的规则

  • 本地变量是定义在块内的
    • 它可以定义在函数的块内
    • 也可以定义在语句的块内
    • 甚至可以随便拉一对大括号来定义变量
  • 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了。
  • 块外面定义的变量在里面仍然有效
  • 不能在一个块内定义同名的变量,也不能定义块外面定义过的变量
  • 本地变量不会被默认初始化
  • 参数在进入函数的时候被初始化了

 

十四、对象与类

1.类与对象的关系

  • 类定义了对象长什么样,对象则是按照类的定义所制造出来的实体,一个类可以创建很多对象,每个对象有自己的数据。
  • 对象是实体,需要被创建,可以为我们做事情。类是规范,根据类的定义来创建对象。

2.OOP特性

  • 一切都是对象
  • 程序就是一堆互相发送消息的对象
  • 每个对象有自己的存储空间,里面是其他的对象
  • 每个对象都有一个类型
  • 所有属于某个特定类型的对象可以提供相同的服务

3.如何定义类

  • 一个类有两种东西组成:表示对象有什么的成员变量和表示对象能做什么的成员函数。一旦定义了类,我们就可以创建这个类的多个对象,这些对象就会做那个类所定义的动作(函数),但具有各自不同的数据。

  4.对象 = 属性 + 服务

  • 数据:属性或状态
  • 操作:函数
  • 把数据和对数据的操作放在一起 —> 封装

 

5.成员变量

  • 类定义了对象中所具有的变量,这些变量称为成员变量
  • 每个变量有自己的变量,和同一个类的其他对象是分开的。
  • 在函数中可以直接写成员变量的名字来访问成员变量
  • this是成员函数的一个特殊的固有的本地变量,它表达了调用这个函数的那个对象。
  • 成员变量的生存期是对象的生存期,作用域是类内部的成员函数。

 

 

 

posted @ 2018-04-03 22:03  Fourteen  阅读(210)  评论(0编辑  收藏  举报