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

时间:2023-01-07 22:00:20

笔记相关信息

 /**

 * @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入门第一季(mooc-笔记)

在 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);
}
}
}

二维数组:

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


Tip:

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

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

第七章.方法


方法的定义:

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


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(){
;;;;;
    }
}

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

JAVA入门第一季(mooc-笔记)的更多相关文章

  1. Java入门第一季——从此投身Java??

    找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简 ...

  2. Java入门第一季

    慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...

  3. 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)

    根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...

  4. 《java入门第一季》之面向对象(谈谈接口)

    软件中有接口,这里的接口与硬件中的接口还是有很大区别的. 这里介绍接口不考虑JDK8的新特性(JDK8开始接口里面可以有非抽象方法了,介绍JDK8新特性可能要到整个第一季写完吧!) 还是直接进入接口的 ...

  5. 慕课笔记-Java入门第一季

    [初步复习Java编程基础,记录知识盲点和遗漏点] 1.switch语法 switch(表达式){ case 值1: 执行代码块1; break; case 值2: 执行代码块12; break; c ...

  6. Java入门第一季学习总结

    一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...

  7. Java入门 第一季第二章 变量和常量

    这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...

  8. 慕课网-Java入门第一季-7-4 编程练习

    来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. ...

  9. java入门 第一季4

    1.数组 1).声明数组 数据类型[]数组名; 数据类型 数组名[]; 2).分配空间 数组名=new 数据类型[数组长度]: 3).赋值 score[0]=98: 直接创建一个长度为4的数组 int ...

随机推荐

  1. Cobbler自动化批量安装linux服务器的操作记录

    Cobbler为何物?Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命 ...

  2. ACM1877&lowbar;又一版A&plus;B

    .这道题与2031极为相似. #include<iostream> using namespace std; void fun(int n,int r) { ]="0123456 ...

  3. Ocelot中文文档-Configuration

    配置 一个关于Ocelot配置例子在这里.配置有两个部分.一个数组类型的ReRoutes和一个全局配置.ReRoutes是个对象,告诉Ocelot怎么去处理一个上游请求.全局配置有点繁琐(is a h ...

  4. jqgrid 配置分页大小及下拉项

    如何配置分页大小的下拉项?显示效果如下: 通过 rowNum 来设置默认分页大小 通过 rowList 来设置分页下拉.   rowList 的值为一个数组,比如:[10,20,30] $(&quot ...

  5. 2018&period;07&period;17 洛谷P1368 工艺(最小表示法)

    传送门 好的一道最小表示法的裸板,感觉跑起来贼快(写博客时评测速度洛谷第二),这里简单讲讲最小表示法的实现. 首先我们将数组复制一遍接到原数组队尾,然后维护左右指针分别表示两个即将进行比较的字符串的头 ...

  6. Netty源码分析第5章&lpar;ByteBuf&rpar;----&gt&semi;第4节&colon; PooledByteBufAllocator简述

    Netty源码分析第五章: ByteBuf 第四节: PooledByteBufAllocator简述 上一小节简单介绍了ByteBufAllocator以及其子类UnPooledByteBufAll ...

  7. CVE-2017-7494:Linux Samba named pipe漏洞

    描述: 漏洞是由于代码中一个管道申请命令的判断导致的,可以通过构造特定请求执行上传的so文件. 漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本. 测试: ...

  8. 第145天:jQuery&period;touchSlider触屏满屏左右滚动幻灯片

    1.HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  9. MAC搭建 PHP 环境

    安装homebrew homebrew是mac下非常好用的包管理器,会自动安装相关的依赖包,将你从繁琐的软件依赖安装中解放出来. 安装homebrew也非常简单,只要在终端中输入11: 1 ruby ...

  10. 纯CSS实现的风车转动效果特效演示

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...