云栖社区专家系列课——Java必修课第三讲

简介: Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,由最课程创始人、微软MVP陆敏枝主讲。本节课陆老师从概念和代码示例(计算器)两方面着重讲解了Java中变量、API文档、输入输出和运算符四方面基础知识。

Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,由最课程创始人、微软MVP陆敏枝主讲。本节课陆老师从概念和代码示例(计算器)两方面着重讲解了Java中变量、API文档、输入输出和运算符四方面基础知识。


课程基本信息

开课时间:每周四下午:1400-1530

主讲人:云栖社区专家,陆敏枝

直播视频链接:

http://cloud.video.taobao.com/play/u/3586076219/p/1/e/6/t/1/50174010455.mp4

欢迎下载或在线观看

本课程重点内容:

本次课程在上一讲的基础上,着重讲解Java中变量、API文档、输入输出和运算符四部分。

一、变量

变量部分主要讲解了变量的简述、变量的使用方法、变量类型。

1、变量简述:初学者可以这么理解变量:如果说类和方法是用来存放逻辑的容器,那么变量则是用来放数据的容器(不完全正确);实际上变量是内存中地址的引用(后续课程会讲解)。

2、变量使用:

1)变量可以是任意数据类型,包括IntBooleanStringchar等;

2)变量声明:可以同时声明单个或多个变量:int a =5 \ int d,e,r=5

3)变量初始化:变量在使用前需要初始化,变量的初始化有两种方式,一种是声明变量的同时就进行了初始化,如int a=5;另一种是声明变量时不初始化,在使用之前进行初始化,如int a;a=5

3、变量类型:

(1)局部变量:为方法内部的变量,在方法内部或者代码块中声明,只允许被当前方法所使用;

(2)参数变量:方法声明中的变量,方法用于传递信息的参数变量;

(3)类变量:方法外部的变量(类的内部),必须在类体中声明,并且用static关键字修饰,也称为静态变量,类内部的多个方法均可调用该变量;

(4)实例变量,在类体中声明但不使用static修饰,也称为非静态变量(在面向对象时,再具体学习)。

课后作业:定义所有基本类型的变量

二、输入输出简介

在本次课程中,我们通过加法计算器的实现方法,讲解了键盘获取用户输入的Scanner类、标准输入流System.in、标准输出流输System.out的概念和具体使用方法。

1)加法计算器代码:

public class MathTester{
public static void mian(String[] args){
System.out.printIn(“请输入第一个参数:”);
//借助JDK的帮助来获取用户的输入
java.util.Scanner scanner=new java.util.Scanner(System in);
int a = scanner.nextInt();\\获取键盘上的一个值,并赋值给变量a
System.out.printIn(“您输入的第一个值为:”+a);
 
System.out.printIn(“请输入第二个参数:”);
int b = scanner.nextInt();
System.out.printIn(“您输入的第二个值为:”+b);
 
int theResult=add(a,b);
System.out.printIn(“Result=”+theResult); #输出函数
}
public static int add(int a,int b){
int re=a+b;
return re;
}
}

Scanner:java.util.Scanner 表明有一个类叫Scanner,它在JDK的路径java.util下。Scanner是一个引用类型的类,,是jdk里默认提供给用户的一个类型。

java.util.Scanner scanner=new java.util.Scanner(System in);

int a = scanner.nextInt();\\获取键盘上的一个值,并赋值给变量a

当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象,并将该对象传递给了scanner局部变量;在new Scanner时,给它传递了一个构造参数System.in,这样scanner就知道自己要去控制台获取参数。如果要获取输入的内容,则只需要调用ScannernextInt()方法即可,其中scanner.nextInt()scanner的内置方法,用于获取键盘上输入的一个整数值,其他内置方法有:

·nextByte(); 读取一个byte类型的整数。

·nextShort(); 读取一个short类型的整数。

·nextInt(); 读取一个int类型的整数。

·nextLong(); 读取一个long类型的整数。

·nextFloat(); 读取一个float类型的整数。

·nextDouble(); 读取一个double类型的整数。

·next(); 读取一个字符串,该字符在一个空白符之前结束。

·nextLine(); 读取一行文本(即以按下enter键为结束标志)。

2)输入输出流

Java中,使用System.out表示标准输出设备,使用System.in表示标准输入设备。默认情况下,输出设备是现实器,输入设备是键盘:

·System.in:标准输入流,用于接受控制台输入;

·System.out:标准输出流,用户输出控制台信息。

为完成控制台输出,只需要使用println方法就可以在控制台上现实基本值或字符串。Java并不直接支持控制台输入,可以使用Scanner类创建它的对象,用以读取来自System.in的输入。

三、API文档

当初学者初次接入某个公共类时,如Scanner,不清楚其用法及其内置函数时,该怎么办呢?此时,API文档就发挥其作用。

API,全称为application programming interface的缩写,中文称为应用程序编程接口。初学者可以将其理解为前人已经编写好,供调用的类和方法。例如,在输入中使用的Scanner类,打开API文档后,可以通过关键字Scanner直接搜索到这个类的介绍页面,当然也可以通过包名一层层找下去,直到找到这个类,如下图。

161d55223ed2de84766e529badc4ee837f73b1f2 

Java API文档提供了很多官方的介绍和类、方法、变量的解释。一般很系统,涉及所有的方面,如果开发人员对正在使用的类不熟悉,想查看类里面的变量或者方法,就可以打开JavaAPI文档进行阅读和查看,初学者可以借助示例代码加强对API的讲解。

课堂练习:

通过在API中查询Date类的使用方法,查询并输出当前日期:

import java.util.Date // java.util.Date date = new  java.util.Date()
public class APITester{
public static void mian(String[] args){
Date date=new Date();
System.out.printIn(date.toString());
}
}

其中import java.util.Date 语句是在程序中使用时简写Date类;如不引用,则上述代码line 4应为: java.util.Date date = new  java.util.Date();

四、运算符

Java中包括四种运算符:

①算数运算符(9):‘+’(加),‘-’(减),‘*’,‘/’,‘%’,‘++ ’,‘--’,‘+’(正),‘-’(负)

②关系运算符(6):== =  > >= < <=

③逻辑运算符(6):&& || ^ & |

④位运算符(7):&| ~ ^ >> << >>>

1、算数运算符:其操作数必须是数值类型,又分为一元运算符和二元运算符,一元运算符,只有一个操作数;二元运算符有两个操作数,运算符在两个操作数之间.

①一元运算符:正‘+’,负‘-’,自加‘++’,自减‘--’,本次课程着重讲解了a++++a的区别:

++a\--a:用于数值变量之前,在赋值操作中,先对被“++”或“--”操作变量值先加1或者先减一,然后在进行其他的操作(先自加\减,再赋值);

a++\a--:用于数值变量之后,在赋值操作中,先用被“++”或“--”的操作变量值进行其他操作,然后再对其值加1或减1(先赋值,再自加\减)。

一元运算符代码示例:

public class OperatorTester{
public static void mian(String[] args){
Int a=5;
Int b=2;
b=+a;
System.out.printIn(“a=”+a + “\t b=”+b);//\t是一个占位符,表示这里要空一个制表单位
Int c;
c=-a
System.out.printIn(“a=”+a + “\t c=” + c);//\t是一个占位符,表示这里要空一个制表单位
Int d;
d=++a; //先a=a+1,再d=a
System.out.printIn(“a=”+a + “\t d=”+d);
Int e;
e=a++;//先e=a,再a=a+1
System.out.printIn(“a=”+a + “\t e=”+e);
Int f;
f=--a;//先a=a-1,再f=a
System.out.printIn(“a=”+a + “\t f=”+f);
Int g;
g=a--;//先g=a,再a=a-1
System.out.printIn(“a=”+a + “\t g=”+g);
}
}

输出结果是:a=5    b=5

a=5    c=-5

a=6    d=6

a=7    e=6

a=6    f=6

a=5    g=6

②二元运算符:‘+’,‘-’,‘*’,‘/’,‘%’,在二元运算符中,乘、除、取余优先级高于加、减法。当二元运算符操作的两个数据类型不一样时,结果值随精度大的那一个。

在本次课程,还涉及到变量强制转型,不同精度数运算等知识点。

二元运算符代码示例:

public class OperatorTester{
public static void m2(){
int a=3;
int b=2;
System.out.printIn(“加法,3+2” +( a + b));
System.out.printIn(“减法,3+2” +( a - b));
System.out.printIn(“乘法,3+2” + a * b);
System.out.printIn(“除法,3+2” + a / b);
System.out.printIn(“求余,3+2” + a % b);
//高精度数和低精度数运算时,结果值为高精度类型存储
float c= 5.17f
System.out.printIn(“单精度 加整数,5.17+3=” +(c+a));//输出为8.17
System.out.printIn(“单精度 除整数,5.17/3=” +(c/a));
}

上一讲回顾

上一讲课我们主要讲解了Java JDK的下载、安装以及JDKJREJVM的概念;讲解了编写Java程序的基础知识点,其中着重讲解了关键字、标识符以及数据类型,并编写了第一个Java程序——Hello World


课程介绍

本套课程是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,并由最课程创始人、微软MVP陆敏枝主讲。课程内容包括了基本语法、运算符、流程控制、面向对象、Java APIIO流、多线程、反射与代理。旨在通过本次课程,在对Java这门编程语言有初步的了解的基础上为后续学习高级课程打下坚实的基础。

相关文章
|
6月前
|
监控 网络协议 Java
《Java工程师成神之路》阿里技术专家之作,囊括Java所有知识点!
很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。
|
11月前
|
设计模式 运维 并行计算
GitHub上的677页Java性能优化笔记火了!竟是阿里调优专家肝出的
Java是目前应用最为广泛的软件开发平台之一。随着Java及Java社区的不断壮大,Java早已不再是一门简单的计算机语言了,它更是一个平台、一种文化、一个社区。
|
1月前
|
Java 开发者 UED
Java中的异常处理:从新手到专家
【10月更文挑战第9天】在Java的编程世界中,异常处理是每个开发者必须面对的挑战。本文将引导你从基础的异常理解到高级的处理技巧,通过具体代码示例,展示如何优雅地管理程序中可能出现的错误和异常情况。无论你是刚开始学习Java,还是希望提高你的异常处理能力,这篇文章都将为你提供宝贵的知识和技巧。
|
1月前
|
Java 程序员
Java中的异常处理:从新手到专家
【10月更文挑战第9天】在Java的世界中,异常处理就像是驾驶时的方向盘,掌握它,你就能驾驭代码的运行方向。本文将通过深入浅出的方式,带你了解Java异常处理的奥秘,从基本的try-catch语句到自定义异常类的创建,让你的代码更加健壮和易于维护。
12 2
|
2月前
|
Java UED
Java中的异常处理:从新手到专家
【9月更文挑战第17天】在Java编程世界中,异常处理是一块基石,它确保了程序的健壮性和可靠性。本文将通过浅显易懂的语言和实例,带你了解如何在Java中优雅地处理异常。我们将一起探索try-catch块的奥秘,学习如何自定义异常,以及何时应该使用throw和throws关键字。准备好了吗?让我们开始这段旅程,把那些不请自来的编程小怪兽——异常,一一捕获!
|
3月前
|
Java 程序员 开发者
掌握Java异常处理:从新手到专家
在Java的世界中,异常是程序运行中不可忽视的挑战。本文以浅显易懂的语言,引导你认识Java中的异常处理机制,从基础的try-catch语句到深入的自定义异常和最佳实践,让你在遇到运行时错误时能够从容不迫,优雅地处理每一个可能的异常情况。让我们一起走进Java异常的世界,学习如何驯服这些“野性”的错误,让程序更加健壮和可靠。
|
3月前
|
安全 Java 数据库连接
Java中的异常处理:从新手到专家
在Java编程的海洋里,异常处理是一块不可或缺的救生板。本文将带你领略异常处理的重要性,并深入探讨如何在Java中优雅地处理这些不期而遇的波涛。从基础的try-catch语句到高级的自定义异常和最佳实践,我们的目标是让每位读者都能在面对异常时游刃有余,确保代码的稳健与优雅。
39 2
|
3月前
|
Java 数据库连接 开发者
Java中的异常处理:从新手到专家
在Java编程的世界中,异常处理是每位开发者必须精通的技能。本文将引导您了解Java异常处理的基础知识,深入探讨高级技巧,并分享最佳实践,帮助您从初学者成长为熟练处理各种异常情况的专家。
|
5月前
|
Java 开发者
那些年,我们追过的 Java 封装:从新手到专家的必经之路
【6月更文挑战第16天】Java初学者到专家的旅程中,封装是关键一环。封装隐藏实现细节,提供简洁接口,保护数据并确保代码整洁、可维护。以`Person`类为例,私有变量与公共方法展示了封装原则,助力团队协作和问题解决,成为编程路上的宝贵经验。封装,从新手到高手的不解之缘,持续塑造更高效、可靠的软件。
39 6
|
5月前
|
安全 Java 程序员
💥JAVA世界里的“拆弹专家”:try-catch-finally如何拯救你的代码?
【6月更文挑战第18天】Java异常处理的关键是`try-catch-finally`,它确保程序在遇到错误时不崩溃。例如,在文件操作中,`try`块尝试读/写文件,`catch`捕获如FileNotFoundException或IOException,打印错误信息,而`finally`确保资源释放。通过这种方式,代码能优雅处理异常,增强健壮性。
39 0
下一篇
无影云桌面