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(){
;;;;;
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
JAVA入门第一季(mooc-笔记)的更多相关文章
- Java入门第一季——从此投身Java??
找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季 一.简 ...
- Java入门第一季
慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...
- 《java入门第一季》之面向对象(谈谈接口)
软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的 ...
- 慕课笔记-Java入门第一季
[初步复习Java编程基础,记录知识盲点和遗漏点] 1.switch语法 switch(表达式){ case 值1: 执行代码块1; break; case 值2: 执行代码块12; break; c ...
- Java入门第一季学习总结
一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...
- Java入门 第一季第二章 变量和常量
这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...
- 慕课网-Java入门第一季-7-4 编程练习
来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. ...
- java入门 第一季4
1.数组 1).声明数组 数据类型[]数组名; 数据类型 数组名[]; 2).分配空间 数组名=new 数据类型[数组长度]: 3).赋值 score[0]=98: 直接创建一个长度为4的数组 int ...
随机推荐
- 基于动态库的C++插件开发模型
基类为抽象类,在不同的动态库中实现不同的执行行为,但是每个动态库要提供2个统一的方法:1) baseClass * create(); 2) void destroy( baseClass* );,调 ...
- [转]使用Oracle SQL Developer连接数据库并创建用户
本文转自:http://blog.csdn.net/xw13106209/article/details/6594738 1.使用sys账户创建数据库连接 安装Oracle 11g会自带一个叫做SQL ...
- 关于Eclipse Modeling Framework 实现模型驱动开发,第一部分
======================================EMF第二篇文章========================= 用 Eclipse Modeling Framework ...
- 关于hover没有效果的问题
今天用vs2012写一个页面的是时候,用到hover的效果,原本是没有难度的事情,后来因为一个细节,导致浪费了点时间. 原来是我在css文件里面写完样式后,用了ctrl+k+D进行了格式化,然后vs在 ...
- 再探Linux动态链接 -- 关于动态库的基础知识
在近一段时间里,由于多次参与相关专业软件Linux运行环境建设,深感有必要将这些知识理一理,供往后参考. 编译时和运行时 纵观程序编译整个过程,细分可分为编译(Compiling,指的是语言到平台 ...
- Sytem 表空间很大
SYSTEM表空间使用率达到了99%, 经查出,是审计表AUD$占用绝大部分的空间. -- 占用表空间system对象大小排名 SELECT * MB FROM DBA_SEGMENTS WHERE ...
- js中对闭包的理解
本人丝一枚,在刚刚过去的javascript学习中,对闭包这个知识真是,听课两分钟,懵逼一整天.今天闲来没事,看了下闭包.话不多说先上代码. <!DOCTYPE html> <htm ...
- Visualsvn Server的搭建
最近做项目在用svn,对svn有个初步了解,今天利用一点时间在本地配置了一个svn的服务端.整个过程分为以下几步: ①下载Visualsvn Server并且进行安装. ②安装好以后,在Visuals ...
- sql的集合操作
原文转自:http://blog.csdn.net/qsyzb/article/details/12560917 SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作. ...
- 程序员面试题精选100题(38)-输出1到最大的N位数[算法]
作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:输入数字n,按顺序输出从1最大的n位10进制数.比如输入3,则输出1.2.3一直到最大的3位数即999. 分析:这 ...