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 ...
随机推荐
- linux基础part1
linux基础部分一 一.linux简介 1.Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. ...
- 用cocos2d-html5做的消除类游戏《英雄爱消除》(3)——游戏主界面
游戏主界面,同时也是主程序,包括sprite的生成加入以及游戏状态的控制. 下面同样贴下源码再讲解; /** * Power by html5中文网(html5china.com) * author: ...
- 项目中对模板和js,css文件进行压缩的处理类
我们知道,在html的页面中,所有空格和换行符其实都会占据一定的空间,即使使用了gzip压缩,在传输过程中依然会浪费用户的流量和我们自己服务器的带宽,此脚本就是为了解决这个问题而诞生的. 请自行下载G ...
- 3.15课·········out传值(传址)
public void Hs(out int a, out int b) { a = 4; b = 6; a = b++;//a=6,b=b+1=7//b先赋值给a,然后b+1 b = ++a;//a ...
- swift 全局常量 && 全局变量的写法
在OC里面 如果 想设置一个全局常量 很简单 使用简单宏定义 就搞定了 例如: #define WEBAPIBASEURL @"http://www.baidu.com/" ...
- NFS指定端口,NFS缓存
nfs服务端: #编辑/etc/nfsmount.conf,在末尾添加: #RQUOTAD_PORT=30001#LOCKD_TCPPORT=30002#LOCKD_UDPPORT=30002#MOU ...
- hbase shell-general(常规指令)
hbase shell常规指令解释篇 1. status (显示集群状态,master,server情况,显示内容的详略程度可选) hbase(main)::> help 'status' Sh ...
- PyVmomi Clone_VM with CustomizaitonSpec
调用CustomizaitonSpec来Clone VM ''' Created on 2017-09-03 @author: Vincen ''' from pyVmomi import vim f ...
- nginx Unit 服务器
转自: https://github.com/nginx/unit/pull/18/ 感谢: https://www.v2ex.com/t/389528 English 简体中文 繁體中文 NGINX ...
- 在macOS上使用***
写在教程之前[转] 本教程是通用的***在macOS上的使用教程.同时作为FzVPN的设备教程补充之一,适用于macOS. 若您在使用FzVPN,请在阅读前先仔细阅读FzVPN的使用帮助:>传送 ...