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通配符导入,即一个包中所有的类
Java探索之旅(1)——概述与控制台输入的更多相关文章
- Java探索之旅(14)——文本I/O与读写
1文件类File ❶封装文件或路径的属性.不包括创建和读写文件操作.File实例并不会实际创建文件.不论文件存在与否,可以创建任意文件名的实例.两种实例创建方式如下: ...
- Java探索之旅(5)——数组
1.声明数组变量: double[] array=new double[10]; double array[]=new double[10]; double[ ...
- java.util.Scanner应用详解++扫描控制台输入
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- Java探索之旅(16)——异常处理
1.异常与异常处理 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来 ...
- Java探索之旅(13)——字符串类String
1.初始化 String类是Java预定义类,非基本类型而是引用类型. public class StudyString { public static void main(String[] args ...
- Java探索之旅(3)——选择与循环
1.选择结构与输出 ❶Switch语句: Switch表达式必须算出 char,byte,short,int类型数值之一,总是括号括住:Value1----ValueN,对应有相同数据类型且为常量或者 ...
- Java探索之旅(18)——多线程(2)
1 线程协调 目的对各线程进行控制,保证各自执行的任务有条不紊且有序并行计算.尤其是在共享资源或者数据情况下. 1.1 易变volatile cache技术虽然提高了访问数据的效率,但是有可能导致主存 ...
- Java探索之旅(17)——多线程(1)
1.多线程 1.1线程 线程是程序运行的基本执行单元.指的是一段相对独立的代码,执行指定的计算或操作.多操作系统执行一个程序时会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被 ...
- Java探索之旅(15)——包装类和字符类
1.包装类 ❶出于对性能的考虑,并不把基本数据类型作为对象使用,因为适用对象需要额外的系统花销.但是某些Java方法,需要对象作为参数,例如数组线性表ArrayList.add(Object).Jav ...
随机推荐
- 关于Unicode转为str的方法
unicode_a=u'\u810f\u4e71' str_a=unicode_a.encode('unicode-escape').decode('string_escape')
- linux查看当前文件夹下每个文件大小
查看当前文件夹下每个文件大小 并会给出当前文件大小总和,后面加具体的文件名会显示具体的文件大小 ls -lht 把*换成具体的文件名会显示具体的文件大小 du -sh *
- 2个canvas叠加运用(时钟例子)
最近在学习canvas,http://corehtml5canvas.com/code-live/,主要的学习方式就是通过上面的一些例子来学习canvas的一些用法.但是我发现,这里的例子,只要can ...
- python 3 递归调用与二分法
递归调用与二分法 1.递归调用 递归调用:在调用一个函数的过程中,直接或间接地调用了函数本身. 示例: def age(n): if n == 1: return 18 # 结束条件 return a ...
- linux swap的添加等等
1. 先说下 swap的卸载 fdisk -l 或者 free -m 看下 swap挂载的是磁盘,还是 文件生成的 如果是系统创建时就分配好的swap,就使用 swapoff /dev/*** 进 ...
- Win7远程桌面_ZC01
1.Win7的远程桌面,在一开始设置成全屏显示,当远程桌面窗口 切换为非全屏的状态时,要想再切换成全屏状态 就比较困难了(我的笔记本ThinkpadE440一直没有弄成功...) 1.1.网上搜索各种 ...
- AOP学习(2)
<property name="interceptorNames"> <!-- 相当于包MyMethodBeforeAdvice前置通知和代理对象关联,我们 也可 ...
- node cluster模块的使用和测试
首先安装async包 用到的有http.cluster包 http和cluster都会node自带的包,无需安装 1:创建cluster.js,代码如下,更具cpu创建多个进程 var cluster ...
- input 限制输入
只能输入数字 :<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> 只 ...
- 关于c++中局部变量和全局变量的存储位置及内存回收机制
局部变量,参数变量存放在栈中,当离开作用范围后,分配的内存在作用范围外会被系统自动回收. new出来的内存空间存放在堆中,不受作用域管理,不会被系统自动回收,只有在使用delete删除或者整个程序结束 ...