第二章 Java语言基础一,Java程序的输入输出
1、字符界面的输入输出,Java Application
用户向程序发出的命令是字符串形式,程序向用户发回的结果也是字符串形式缺点:界面简单,效果死板
import java.io.*;
public class SimpleCharInOut
{ public static void main(String args[])
{ char c='a';
System.out.print("Enter a chracter please:");
try{
c=(char)System.in.read();
}
catch(IOException e){};
System.out.println("you have entered chracter"+c); }
}
上机运行程序注意以下几个问题:
( 1)如果敲击键盘输入字符但不输入回车,程序会如何?为什么?
( 2)如果从键盘输入一个字符并按回车,程序输出什么?如果从键盘输入了多个字符并按回车,程序有输出什么?为什么?
2、图形界面下的输入输出,Java Applet
用户发给程序的命令可以通过图形界面下的一些特定元素(如菜单,
按钮)来实现,而程序发回给用户的结果也可以使用图形和图像的形式
import java.applet.Applet;
import java.awt.*;
public class SimpleGraphicsInOut extends Applet
{ Label prompt;
TextField input;
Label output;
public void init()
{
prompt=new Label("enter a character please:");
input=new TextField(3);
output=new Label(" ");
add(prompt);
add(input);
add(output);}
public boolean action(Event e,Object o)
{ output.setText("you have entered character"+o.toString());
return true;
}}
<HTML>
<HEAD><TITLE>This is a test of Applet</TITLE></HEAD>
<BODY>
<HR>
<APPLET
CODE=“SimpleGraphicsInOut.class"
WIDTH=300
HEIGHT=300>
</APPLET>
</BODY>
</HTML>
HTML文件中的内容包含两部分:一是具体的正文内容;二是用来表明这些内容的显示格式的符号,标记用一对尖括号括起,通常成对出现,第一个表示开始,第二个表示结束。
上机运行程序注意以下几个问题:
( 1)在文本框中输入文字并按回车观察程序的输出,如果不按回车,是否有输出,为什么?在文本框中输入多个字符并按回车,输出是什么?在文本框中输入多个汉字并按回车,输出是什么?
( 2)把程序里原来的语句
prompt=new Label("enter a character please:");
改写为
prompt=new Label(“请输入一个或一串字符,");
保存后重新编译程序的有何变化?如果希望输出提示也是中文,如何修改程序?
( 3)把程序里原来的语句:
input=new TextField(3);
分别先后改写为,input=new TextField(6);和 input=new TextField(“在这里输入”,6);
程序的界面有何变化,体会 TextField的用法。
3、图形界面下的输入输出,Java Application
import java.awt.*;
public class GraphicsApplctInOut
{ public static void main(String[] args)
{ ApplctFrame MyFrame=new ApplctFrame(); }}
class ApplctFrame extends Frame
{ Label prompt;
TextField input;
Label output;
ApplctFrame()
{super(“Application Graphic Frame”);//调用父类方法指定图形界面窗口标题
setLayout(new FlowLayout());
prompt=new Label("enter a character please:");
input=new TextField(10);
output=new Label(" ");
add(prompt);
add(input);
add(output);
pack(); show(); }
public boolean action(Event e,Object o)
{
output.setText("you've entered character "+o.toString ());
return true;
}
public boolean handleEvent(Event evt)
{
if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return super.handleEvent(evt);
}
}
二、常量与数据类型:
1、常量,( 1) 特殊类型的常量:布尔型常量
( 2)字符串常量,Java编程语言中字符串用专门的数据类型 String来实现,而不象 C++那样用字符数组来实现。
2、变量:
( 1)变量的类型:可以是简单类型,可以是复合类型,作用范围
( 2) Java内部的数据类型:整型 浮点型 字符型 布尔型在 Java程序中,为了保证程序所定义的每一个变量都有确定的取值,
为那些定义时没有设定初值的变量指定了缺省值。
整型,byte 8 short 16 int 32 long 64
由于不同机器对于多字节数据的存储方式不同,可能从低字节向高字节存储,也可能从高字节向低字节存储,在分析网络协议或文件格式时,为了解决不同机器上的存储顺序问题,一般用 byte类型表示数据
( 3) Java中的字符型数据( 2字节),在 Java中所有字符都存储为
Unicode字符集的形式 。
Java与 Unicode,Unicode是一个标准字符集,开发它的目的就是为了让几乎所有语言的字符都能在其中编码,它使用 16位编码来表示一个字符,最多可以识别 65,535个非零字符编码( ASCII字符集对应着 Unicode字符集中的前 128个字符)。虽然可能是在一个存储
ASCII的环境中输入 Java程序程序的,但所有的 java源代码都将采用
Unicode,即虽然初始生成的源代码采用的是 ASCII字符,但是系统内部会在编译之前把它转换成 Unicode字符。因此可以采用任何国家的语言的字符作为识别符
3、运算符:
( 1) +,Java对其进行扩展为字符串连接运算符,作,+”运算时,
只要有一个操作数为字符串,其它操作数自动转换成字符串。
( 2)浮点型数据可以采用 %和 ++,--
( 3)关于 boolean型变量需要注意一点,它们与其它基本数据类型不同,即这种类型不能被转换成其它基本类型,而其它基本类型也不能转换成 boolean,