Java探索之旅(1)——概述与控制台输入
使用的课本:
Java语言程序设计(基础篇)----西电 李娜(译)
原著: Introduction to Java Progrmming(Eighth Edition) -----Y.Daniel Liang
使用Eclipse编译器。
1.计算机、程序和Java概述
❶Java流行的原因:简单,面向对象,分布式,解释型,鲁棒,结构中立,安全,可移植,高性能,多线程,动态。一旦编写,任何的地方可运行。
❷区分大小写。如main不能写成Main。标识符由字母,下划线,美元“$”,数字组成。但数字不作开头。习惯上美元不用来构成标识符。标识符不能是 null,false,true和保留字,可以设置为任意长度。
❸源程序扩展名为.java,java编译器(编译指令 javac)将源程序翻译为字节码(与源程序同名,以.class后缀),字节码类似机器指令但是体系中立,可在不同的硬件平台和操作系统运行(只要带Java虚拟机,即JVM)。执行Java程序程序就是逐步运行字节码的,即将依次将单独的一步翻译成目标机器语言代码,并执行(翻译一步执行一步)。
❹Java程序至少有一个类。类名按照惯例以大写字母开头。注释与C++方法一样。每个Java程序都是类的集合,以class开头,每个java程序至少有一个主方法(main,程序入口)
2.控制台输入
首先导入java.util.Scanner;使用步骤:
(1) Scanner input=new Scanner(System.in);创建Scanner对象并将其引用赋值给input。 (2) imput使用--input.*:
nextByte() //读取 byte 带符号整数 128---127 1字节 nextShort() //读取 short 带符号整数 -32768---32767 2字节 nextInt() //读取 int 带符号整数 -2.^31---2.^31-1 4字节 nextLong() //读取long 带符号整数 -2.^63---2.^63-1 8字节 nextDouble() //读取double双精度 nextFloat() //读取float单精度 next() //读取字符串,以空白字符('','\t','\f','\r','\n',空白,制表,换纸,回车,换行)之前结束 nextline() //读取一行文本,以回车字符('\r')结束
3.代码
①循环输出“welcome to java”三次 ②显示GUI消息对话框 ③控制台输入(默认键盘),调用函数
package messageDialogBox; import javax.swing.JOptionPane; import java.util.Scanner; public class MeasageDialogBox { private static final int JOptionPane_INFORMATION_MESSAGE = 0; static double add(int x,double y) { return x+y; } public static void main(String[] args) { for(int i=0;i<3;i++) System.out.println("Welcome to Java"); JOptionPane.showMessageDialog(null, "wlecom to Java","Display Window",JOptionPane_INFORMATION_MESSAGE); Scanner input=new Scanner(System.in); System.out.print("Input a int and a double variable\n"); int x=input.nextInt(); double y=input.nextDouble(); System.out.println(add(x,y)); input.close(); } }
1.循环结构for同C++使用。输出使用到System类,其包含在Java.lang包中且被隐式导入。 System.out.print()和println(),区别是后者会将光标移到下一行。可以使用字符串连接符“+”将字符常量换行输出,如:
System.out.println("ABCDEF" + "FGDJPE");//字符常量换行输出
2.import导入预定义类javax.swing.JOptionPane。对话框函数showMessageDialog()为静态调用,至少包含前2个参数。除开第一个参数null,后两个参数分别为对话框显示字符和对话框名。
import javax.swing.JOptionPane//import明确导入 import javax.swing.*//import通配符导入,即一个包中所有的类