Java基础
第一天:Java概述和基本语法
Java历史
1995年5月23日 诞生
1998年 Java 2
2004年 Java 5
2014年 目前的最新版本 Java 8
Java的特点
简单自然
面向对象(Object-Oriented)
可移植性(Write Once Run Anywhere)
分布式
多线程
安全健壮
Java的工作方式
先编译再解释执行
说明:通过JDK提供的Java编译器(javac)将Java源代码(.java文件)编译成类文件(.class文件,也叫做字节码,这是一种人和计算机都无法识别的中间代码,),再通过Java解释器(java)启动JVM加载类文件解释执行。
Java的术语
JDK:Java Developer’s Kit - Java开发者工具
JRE:Java Runtime Environment - Java运行时环境
JVM:Java Virtual Machine - Java虚拟机
API:Application Programming Interface - 应用程序编程接口
开发工具和开发环境
Eclipse
IntelliJ
Java程序的结构
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
说明:由于Java是面向对象的编程语言,Java程序通常是由类构成的,定义类的关键字是class,后面跟上类的名字,左花括号表示类的开始,右花括号表示类的结束。main方法是可执行程序的入口,它有三个修饰符,分别是:public、static和void,方法的开始和结束仍然是用花括号来界定的。方法中的代码是语句,分号表示语句的结束。上面的程序使用了Java API中的System类的out对象的println方法在控制台进行输出。
练习1:输出下面的图案。
******************
* *
* 欢迎来到朗沃 *
* *
******************
___________________________________________________
```Java
package com.lovoinfo;
public class Hello {
public static void main(String[] args) {
System.out.println("*************************");
System.out.println("*\t\t\t*");
System.out.println("*\t欢迎来到朗沃\t*");
System.out.println("*\t\t\t*");
System.out.println("*************************");
}
}
<div class="se-preview-section-delimiter"></div>
练习2:在弹出式对话框上输出上面的图案。
package com.lovoinfo;
import javax.swing.JOptionPane;
public class HelloGUI {
public static void main(String[] args) {
String name = JOptionPane.showInputDialog("请输入你的名字: ");
String message = "****************************\n"
+ "\n* 欢迎" + name + "来到朗沃 *\n"
+ "\n****************************";
JOptionPane.showMessageDialog(null, message);
}
}
练习2:在弹出式对话框上输出上面的图案。
```Java
package com.lovoinfo;
import javax.swing.JOptionPane;
public class HelloGUI {
public static void main(String[] args) {
String name = JOptionPane.showInputDialog("请输入你的名字: ");
String message = "****************************\n"
+ "\n* 欢迎" + name + "来到朗沃 *\n"
+ "\n****************************";
JOptionPane.showMessageDialog(null, message);
}
}
<div class="se-preview-section-delimiter"></div>
练习3:两个数做加减乘除的运算。
package com.lovoinfo;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个整数: ");
int a = sc.nextInt();
System.out.print("请输入第二个整数: ");
int b = sc.nextInt();
System.out.printf("%d+%d=%d\n", a, b, a + b);
System.out.printf("%d-%d=%d\n", a, b, a - b);
System.out.printf("%d*%d=%d\n", a, b, a * b);
System.out.printf("%d/%d=%d\n", a, b, a / b);
sc.close();
}
}
练习3:两个数做加减乘除的运算。
```Java
package com.lovoinfo;
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个整数: ");
int a = sc.nextInt();
System.out.print("请输入第二个整数: ");
int b = sc.nextInt();
System.out.printf("%d+%d=%d\n", a, b, a + b);
System.out.printf("%d-%d=%d\n", a, b, a - b);
System.out.printf("%d*%d=%d\n", a, b, a * b);
System.out.printf("%d/%d=%d\n", a, b, a / b);
sc.close();
}
}
<div class="se-preview-section-delimiter"></div>
练习4:用弹出式对话框完成上面的程序。
package com.lovoinfo;
import javax.swing.JOptionPane;
public class CalculatorGUI {
public static void main(String[] args) {
String a = JOptionPane.showInputDialog("请输入第一个数:");
String b = JOptionPane.showInputDialog("请输入第二个数:");
int num1 = Integer.parseInt(a);
int num2 = Integer.parseInt(b);
String message = String.format(
"%d+%d=%d", num1, num2, num1 + num2);
JOptionPane.showMessageDialog(null, message);
}
}
<div class="se-preview-section-delimiter"></div>
练习5:将英制单位的英寸转换成公制单位的厘米(1英寸=2.54厘米)。
package com.lovoinfo;
import java.util.Scanner;
public class InchToCentimeter {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入英寸: ");
double a = sc.nextDouble();
double b = a * 2.54;
System.out.printf("%.2f 英寸 = %.2f 厘米\n", a, b);
sc.close();
}
}
练习4:用弹出式对话框完成上面的程序。
```Java
package com.lovoinfo;
import javax.swing.JOptionPane;
public class CalculatorGUI {
public static void main(String[] args) {
String a = JOptionPane.showInputDialog("请输入第一个数:");
String b = JOptionPane.showInputDialog("请输入第二个数:");
int num1 = Integer.parseInt(a);
int num2 = Integer.parseInt(b);
String message = String.format(
"%d+%d=%d", num1, num2, num1 + num2);
JOptionPane.showMessageDialog(null, message);
}
}
<div class="se-preview-section-delimiter"></div>
练习5:将英制单位的英寸转换成公制单位的厘米(1英寸=2.54厘米)。
package com.lovoinfo;
import java.util.Scanner;
public class InchToCentimeter {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入英寸: ");
double a = sc.nextDouble();
double b = a * 2.54;
System.out.printf("%.2f 英寸 = %.2f 厘米\n", a, b);
sc.close();
}
}
<div class="se-preview-section-delimiter"></div>
作业1:编程实现摄氏温度转换成华氏温度。
import java.util.Scanner;
public class Temperatute {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入摄氏温度");
int a = sc.nextInt();
int b = (int) (a*1.8+32);
System.out.println("华氏温度"+b);
sc.close();
}
作业1:编程实现摄氏温度转换成华氏温度。
```Java
import java.util.Scanner;
public class Temperatute {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入摄氏温度");
int a = sc.nextInt();
int b = (int) (a*1.8+32);
System.out.println("华氏温度"+b);
sc.close();
}
第二天:数据类型和常用运算
1. 关键字、标识符、运算符、字面量和分隔符
2. 数据类型
3. 变量和常量
4. 标识符的命名
5. 运算符的使用
练习1:输入两个数找出其中较大的那个数。
package com.lovoinfo;
import java.util.Scanner;
public class FindMax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入两个数: ");
int a = sc.nextInt();
int b = sc.nextInt();
if(a >= b) {
System.out.println(a);
}
else {
System.out.println(b);
}
sc.close();
}
}
练习2:输入身高(cm)和体重(kg)判断身材是否正常。判断标准"身高-110>=体重"认为是正常的。
package com.lovoinfo;
import java.util.Scanner;
public class AreYouFat {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入你的名字: ");
String name = sc.nextLine();
System.out.print("请输入你的身高: ");
int height = sc.nextInt();
System.out.print("请输入你的体重: ");
int weight = sc.nextInt();
if(height - 110 >= weight) {
System.out.println(name + "的身材正常!");
}
else {
System.out.println(name + "是个胖子!");
}
sc.close();
}
}
练习3:输入一个年份,判断是不是闰年。
package com.lovoinfo;
import java.util.Scanner;
public class IsLeapYear {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个年份: ");
int year = sc.nextInt();
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
System.out.println(year + "是闰年");
}
else {
System.out.println(year + "不是闰年");
}
sc.close();
}
}
作业2:输入三个整数,输出其中最大的数。
import java.util.Scanner;
import javax.xml.transform.stax.StAXSource;
public class ComparingTheSize {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入三个数字");
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
if(a>b){
int temp = a;
a=b;
b=temp;
}
if(a>c){
int temp = a;
a=c;
c=temp;
}
if(b>c){
int temp = b;
b=c;
c=temp;
}
System.out.printf("%d,%d,%d\n",a,b,c);
sc.close();
}
}