JAVA入门第一季(mooc-笔记)

笔记相关信息

 /**

 * @subject 《学习与创业》作业1
 * @author 信管1142班   201411671210  赖俊杰

 * @className  《JAVA入门第一季》
W* @website  http://www.imooc.com/view/85
 */

第0章:个人收获与体会


经验总结:
- 多练
- 多问
- 自己动手调试错误
- 复习和总结(笔记和犯过的错误)
- 学虽容易,学好不易,且学且珍惜


学习这门课程后:

  • 对于有了C++基础的人来说,学习这门课程绝对会有很好的感受。
  • 此门课程不是单纯的播放视屏,而是主要以文档的形式传授知识,让我体会了一次以文档形式去学习一门语言。这有利于帮助我养成看文档去学习一门语言的语法的习惯。
  • 学习了JAVA中基本语法的使用。

第一章


package time;

import java.util.Scanner;

/**
 * @author laijunjie
 */
public class Time {

    /**
     * @param args
     * 将华氏温度转换成摄氏温度
     */
    public static void main(String[] args) {
        Scanner cin_fahrenheit = new Scanner(System.in);
        int fahrenheit = cin_fahrenheit.nextInt();
        int celsius = (int) ((fahrenheit-32)/(9/5.0));
        System.out.println(celsius);

    }

}

第二章。变量常量


Java 关键字是区分大小写。

优秀攻城狮的习惯:

  1. 名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
  2. 变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息

Java 中有两类数据类型:
这里写图片描述
在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。


Java 中 float 与 double 的区别:

  1. float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位
  2. double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位
  3. java中默认声明的小数是double类型的,如double d=4.0 ,如果声明: float x = 4.0则会报错,需,需要如下写法:float x = 4.0f或者float x = (float)4.0。其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义 。
  4. 对编程人员来而,double 和 float的区别是double精度高,但double消耗内存是float的两倍,且double的运算速度较float稍慢。

Java 中 char 和 String 的区别

1.char表示字符,定义时用单引号,只能存储一个字符,如char c=’x’;

而String表示字符串,定义时用双引号,可以存储一个或多个字符,如String name=”tom”;

2.char是基本数据类型,而String 是一个类,具有面向对象的特征,可以调用方法,如name.length()获取字符串的长度。


第三章。运算符


Java 语言中常用的运算符可分为如下几种:

Ø 算术运算符

Ø 赋值运算符

Ø 比较运算符

Ø 逻辑运算符

Ø 条件运算符


比较运算符
注意哦:

  1. > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
  2. == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
  3. ==是比较是否是同一个值,equal()是比较是否是同一个内容。

第四章。流程控制


小技巧:

/**
 * 
 */
package time;

import java.util.Scanner;

/**
 * @author 赖俊杰
 */
public class Time {

    /**
     * @param args
     * 说明equal()用于判断字符串内容是否相同。
     */
    public static void main(String[] args) {

        System.out.println("please input your name :");
        Scanner cin_name = new Scanner(System.in);
        String name = cin_name.next();

        System.out.println((name.equals("laijunjie"))?
                ("You is a good man^_^"):("You is a bad man.*_*||"));

    }

}

switch语句

/**
 * 
 */
package time;

import java.util.Scanner;

/**
 * @author 赖俊杰
 */
public class Time {

    /**
     * @param args
     * 初学容易忽略的一种switch的使用方法。
     */
     public static void main(String[] args) {
            char today='日';
            switch(today){
             case '日':
                 System.out.println("不想老丁的课");
                 break;
             case '一':
             case '三':
             case '五':
                 System.out.println("不用上老丁的课");
                 break;
             default:
                 System.out.println("睡觉多好");
            }
     }
}

第六章.数组


数组:
数组名.length 用于获取数组的长度


Arrays类

Arrays 类是 Java API 中提供的类,在 java.util 包中, Arrays类中提供的方法可直接实现数组的排序、搜索等。常用方法如下:

1、toString

转换数组:将指定数组内容转换为字符串形式

2、fill

给数组赋值:通过fill方法。

3、sort

对数组排序:通过sort方法,默认按升序。

4、equals

比较数组:通过equals方法比较数组中元素值是否相等。

5、binarySearch

二分查找:使用二分搜索法来搜索指定数组的范围


import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

       int[] array = new int[5];

       // 填充数组

       /* Arrays.fill( a1, value );

         作用:填充 a1 数组中的每个元素都是value

       */

       Arrays.fill(array, 5);

       System.out.println("填充数组:Arrays.fill(array, 5):");

       System.out.println(Arrays.toString(array));



       // 将数组的第3和第4个元素赋值为8

       /* Arrays.fill( a1, fromIndex, toIndex,value);

         作用:填充 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素都是 value

       */

       Arrays.fill(array, 2, 4, 8);

       System.out.println("将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):");

       System.out.println(Arrays.toString(array));



       int[] array1 = { 7, 8, 3, 2, 12, 6, 3, 5, 4 };

       // 对数组的第3个到第7个进行排序

       /* Arrays.sort( a1, fromIndex, toIndex);

         作用:对 a1 数组中的从索引为 fromIndex 开始到索引为 toIndex-1 为止每个元素排序

       */

       Arrays.sort(array1, 2, 7);

       System.out.println("对数组的第2个到第6个元素进行排序:Arrays.sort(array,2,7):");

       System.out.println(Arrays.toString(array1));



       // 对整个数组进行排序

       Arrays.sort(array1);

       System.out.println("对整个数组进行排序:Arrays.sort(array1):");

       System.out.println(Arrays.toString(array1));



       // 比较数组元素是否相等

       System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):" + "\n"

              + Arrays.equals(array, array1));

       int[] array2 = array1.clone();

       System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):" + "\n"

              + Arrays.equals(array1, array2));



       // 使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确)

       Arrays.sort(array1);

       System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"

              + "\n" + Arrays.binarySearch(array1, 3));



       // 如果不存在就返回负数

       System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"

              + "\n" + Arrays.binarySearch(array1, 9));

    }

}

for each操作

/**
 * 
 */
package time;

import java.util.Arrays;

/**
 * @author 赖俊杰
 */
public class Time {

    /**
     * @param args
     * 与C++类似的for each()
     */
public static void main(String[] args) {

        // 定义一个整型数组,保存成绩信息
        char[] word = { 'l', 'o', 'v', 'e', 'U' };

        // 对Arrays类对数组进行排序
        Arrays.sort(word);

        // 使用foreach遍历输出数组中的元素
        for (   char score:word ) {
            System.out.print(score);
        }
    }
}

二维数组:
这里写图片描述


Tip:
JAVA的数组和C++的数组有个很大的不同:java中表述数组大小的可以是变量。

int number;
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int array[num];

第七章.方法


方法的定义:
这里写图片描述


Tip:

  1. 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
  2. 当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现

一个JAVA文件的结构层次
学习过C++,所以学JAVA的时候感觉JAVA的层次很乱,分不清关系,所以做了如下笔记。


//此JAVA文件所在包名
package time;


//导入所需要的类,导入java包中的until包中的Arrays文件。
import java.util.Arrays;

/**
 * @author 赖俊杰
 */

//这里开始是定义的类
public class Time {

    /**
     * @param args

     */

//这个函数在类中,相当于C++中的主函数
public static void main(String[] args) {
        ;;;;;;;
    }
//另一个函数
publice void idea(){
;;;;;
    }   
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-10-18 21:25  kelion  阅读(179)  评论(0编辑  收藏  举报