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 关键字是区分大小写。
优秀攻城狮的习惯:
- 名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
- 变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
Java 中有两类数据类型:
在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。
Java 中 float 与 double 的区别:
- float是单精度浮点数,内存分配4个字节,占32位,有效小数位6-7位
- double是双精度浮点数,内存分配8个字节,占64位,有效小数位15位
- java中默认声明的小数是double类型的,如double d=4.0 ,如果声明: float x = 4.0则会报错,需,需要如下写法:float x = 4.0f或者float x = (float)4.0。其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义 。
- 对编程人员来而,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 语言中常用的运算符可分为如下几种:
Ø 算术运算符
Ø 赋值运算符
Ø 比较运算符
Ø 逻辑运算符
Ø 条件运算符
比较运算符
注意哦:
- > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
- == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
- ==是比较是否是同一个值,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:
- 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式。
- 当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现
一个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(){
;;;;;
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。