??xml version="1.0" encoding="utf-8" standalone="yes"?>
数组x:double[] rainfull; 推荐
?br /> double rainfull[];
引用数据cd:接口,对象,数组.
rainfull = new double[12];
创徏一个长度ؓ12的数l?把空间地址赋给rainfull.
数组索引是从0开?没特D要求情况下,索引一般都是从0开?
动态数l?-自动增长
数组.length (属?
String.leng() (Ҏ)
String[] m = {"a","b","c"...}
在申明初始化?数组的大设?
int size;
int[] number;
size = Integer.parseInt(JOptionPane.showMessageLag(null,"size of .."));
number = new int[size]; (Ҏ也不是很?因ؓsize不一?对象也就不一?)
可变型数l?
对象数组
数组的类型不是基本数据类?
Person[] person;
person = new Person[20];
对象数组每个元素都是一个对?没初始化时是null.
Person[0] = new Person[]; 创徏对象
1.11 星期?br /> JCF--java集合框架
Java Collection Framework
JCF是什?
是java语言设计出来的针对底层算法和数据l构的一pdc?
在哪用JCF?
凡是提到数据l构和算法的都可以用JCF
Z么用JCF?
让程序员的重Ҏ在业务上,而不是如何去写算法上.
接口 Collection
| |
| |
set---- ----list map
实现 HashSet ArrayList SoredMap
法 Collections
以上构成JCF
list 列表 map 映射
list的重要特征是帮我们管理大量对?/p>
ArrayList 数组列表
LinkedList (单双)链表 (不是q箋?通过指针q接)
ArrayList al = new ArrayList();
al.add(1);
al.add(4);
al.add(2); 增加
......
al.remove; 删除
System.out.println(al);
System.out.println(al.get(3));
排序
Collections.sort(al); 到?br /> Collections.max(al);
Collections.min(al);
Collections.sort(al,Collection.reverseOrder); 大到?br />
Vector ?ArrayList 很相?br /> 向量
如何便利集合
Iterator it = al.iterator(); q带?挨个讉K
while(it.hasNext())
{
System.out.println(al.next);
}
HashMap 不允讔R?br /> TreeMap 自动排序
treeMap tr = new TreeMap();
tr.put(1,1); (key,value)
.......
Object[] o = tr.keySet().ToArray();
Object[] o = tr.value().ToArray();
System.out.println(tr);
for(int i = 0;i<o.leng;i++)
{
System.out.println(0[i]);
}
awt和swing的特?
awt(抽象H口工具?是依赖操作系l的GUI.
能够昄出来的组件是不同操作pȝ的共有组?(但是不太好看.)
swing(模拟GUIlg)速度比awt要慢的多.
swt(sun公司?是swing和awt的综合体)如果swt产生的组件awt有就直接调用, 没有模拟出?q样既解决了跨^台的问题,也解决了速度慢的问题.
低层容器:容器是包含其他组件的lg.
JFrame,JApplet,JDialog.
布局理?
标准布局,自由布局.
GUI三个步骤:
1.选择容器
2.为容器设|布局方式
3.为容器填加组?
导入3个包
import javax.swing.*;
import java.awt.*;
import awt.event.*;
GUI底层容器的实现方?br />W一U?
JFrame jf = new JFrame(); //拿一个容?br />jf.setLayout(null);
JButton jb = new JButton();
jb.setBounds(0,0,20,20); //l对布局
jf.add(jb);
this.setSize(200,200);
this.setVisible(true);
W二U?
c?extends JFrame //让自qcd成容?br />xlg;
public c?br />{
Container ct = this.getContentPane();
ct.add();
this.setSize();
this.setVisible();
}
this.setCursor(new Cursor(Cursor.HAND_CURSOR)); //变手
Image image = new ImageIcon("Sunset.jpg").getImage();
setIconImage(image);//改变图标
容器,根容?部g看gui资料 E?.
布局理?br />FlowLayout 面板(~省理? 布局理?br />在setLayout(null)下全是FlowLayout
BorderLayout JFrame(~省布局理? ?????br />GridLayout 行列(像表?
CardLayout 卡片布局理?没有늭)
GridBagLayout 格兰包布局理?标准理器中最灉|?不好把控)
FlowLayout 从上C,从左到右攄.
1.当第一行没有排满时,会把W一行排满再排下一?
2.不管布局理器是否改?lg大小都不会改?
FlowLayout folw = new FlowLayout (FlowLayout.LEFT);
3.在缺省状态下从中部开?
BorderLayout
当东西南北Q何一个地区没攄Mlg?中部区域会把周围的区域R略掉.
setLayout(new BorderLayout());
lg会随着容器大小的变化而变?
add("North",lg); 不好?br />add(lg,BorderLayout.NORTH); 清晰
GridLayout
lg会随着容器大小的变化而变?
setLayout(new GridLayout(3,2)); 行列
add(new Button("first",0));
Ҏ序列依次填进?只有列满了才d?
validate(); 让容器刷?/p>
GardLayout
GardLayout card = new GardLayout();
setLayout(card);
add("1",new Button(""));
CardLayout cl = (CardLayout)cardLayout.getLayout;
cl.show(cardLayout,"card1");
事g
class c?extends JFrame implements(实现) ActionListener(接口)
{ (受托事g处理)
不同的事件不同的部门处理
}
1 让类变成监听?br />2 赋予多少职责实现多?br />3 建立部g与监听者的关系
jb.addActionListener(this);
CardLayout cl = (CardLayout)card.getLayout();
String s = e.getActionCommed();
if(s.equals("上一?))
{
cl.show(card,"card2");
或?br /> cl.previous(card);
button.setEnabled(false);
}
else if(s.equals("下一?))
{
cl.show(card,"card1");
或?br /> cl.previous(card);
button.setEnabled(false);
}
如果一个方法有q回?那么Ҏ里必d上return.q回cd没有void.
构造器是cȝ构造方?
构造方法的基本特点:
Ҏ名和cd一?Ҏ名没有返回类?
构造方法的Ҏ?
1.每个cM定会有一个不带参数的默认构造方?
2.如果一个类定义了一个带参数的构造方法,那么不带参数的构造方法就会被z刷?
3.构造方法可以重?(如一个带参数的和一个带参数?
一个类的方法同名叫做方法重?
4.构造方法是不能被承的.
实例变量:在类里面M一个方法外面的变量.每个对象都有属于自己实例变量的拷?
public privateq个我们UC?可见性修饰符".它来指定数据成员和方法的讉K能力和访问?
如果q个Ҏ的行为是改变对象的属?讄对象属性的?那么q个ҎUC?修改?.
public void setHeight(float h, float w)
{
height = h;
weight = w;
}
如果q个Ҏ只是q回对象属?那么我们U这个方法ؓ"讉K?.
public void abc()
{
return a;
}
12.20 星期?br /> static int i;是类变量
~省修饰W?本包的都可以讉K.
公共修饰W?public):M地方都可以访?
if()
语句1;
else
语句2;
? : if else的工E用?三目q算W?
switch的条件语句只能是整数
equalsҎ是被重写q的.
equals?=的区?
equals比较的是内存I间的内Ҏ否相?br /> == 比较的是两个对象的地址是否相同
12.21 星期?/p>
properties
import java.io.*;
import java.util.Properties;
class P
{
Properties pro;
public P()
{
pro = new Properties();
}
public void load(String fileName)
{
try
{
pro.load(new FileInputStream(fileName));加蝲
}
catch(IOException e)
{
e.printStackTrace();
}
}
public void getP(String key)
{
System.out.println(pro.getProperty(key));d
}
public void setP(String key,String value)
{
pro.setProperty(key,value);讄Q在内存里)
}
public void storeP(String fileName,String Info)
{
try
{
pro.store(new FileOutputStream(fileName),Info);保存Q在文gQ?br /> }
catch(IOException e)
{
e.printStackTrace();
}
}
}
普通文件?后缀.peoperties
Q柔性Y件开发)目的Q可以让E序变的灉|Q配|变的轻巧?/p>
循环语句
while循环Q@环次数未知用?br />for 循环Q已知@环次C用?br />do-while循环
static是静态?br />静态方法不能访问非静态成员?br />非静态方法可以访问静态成员?/p>
int i = 3;
public static void main(String[] args)
{
System.out.println(i);
}
q个׃报错。因为静态方法不能访问非静态成员!Q?/p>
static int i = 3;
public static void main(String[] args)
{
nbn n = new nbn();
n.abc();
}
public void abc()
{
System.out.println(i);
}
q个׃会报错。因为非静态方法可以访问静态成员?/p>
public(a問修飾W?static(a問修飾W?void(q回型) main(Ҏ?(String[] args)(參數?{}
import javax.swing.*;
import java.text.SimpleDateFormat;
class jframe
{
public static void main(String[] args)
{
JFrame jf = new JFrame();//H口
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd");//旉格式
java.util.Date da = new java.util.Date();//昄旉的对象申?br />
jf.setTitle("w.a.n");//讄标题
jf.setSize(300,300);//讄H体大小
jf.setVisible(true);//昄
JOptionPane.showMessageDialog(jf(位置),"hello");//弹出H口昄HELLO
String a = JOptionPane.showInputDialog(null,"can you see?");//输入H口Q窗口提CZؓcan you see
JOptionPane.showMessageDialog跟JOptionPane.showInputDialogq有一U参数写法?br /> JOptionPane.showMessageDialog(null," "(昄信息)," "(标题信息)QJOptionPane.INFORMATION_MESSAGE)Q?br /> System.out.println(sf.format(da.getTime())); //输出q月日。用SimpleDateFormat
}
}
三种注释
/**
*文檔a釋Q寫在開?Q?注明E序的功能,以及盔R信息Q?br /> *功能Q?br /> *作者:
*版本Q?br /> *開發日期Q?br /> **/
/*
*多行a釋
*///單行a釋
import javax.swing.JOptionPane;
class Area
{
final private static double PI = 3.1415; //帔R的申明:final
private String r;
private double rr;
private double s;
public static void main(String[] args)
{
Area a = new Area();
a.Input();
a.Areas();
}
public void Input()
{
r = JOptionPane.showInputDialog(null,"請入圓半徑");
}
public void Areas()
{
rr = Double.parseDouble(r);//cd转换
s = rr*rr*PI;
JOptionPane.showMessageDialog(null,"圓面I是:"+s);
}
}
cd转换
String转double
xx = Double.parseDouble(要{换的数据名字)Q?br />String转int
xx = Integer.parseInt(要{换的数据名字);
int转String
String s = String.valueOf(12);
?br />String s = new Integer(10).toString();
注意Q!
float f = 2.33 是错的。因?.33默认cd是double.
ҎQfloat f = 2.33 F;
q要注意
高内聚,松耦合?br />函数分解?br />q样代码看v来会很清爽?/p>
import java.text.DecimalFormat;
class Dformat
{
public static void main(String[] args)
{
DecimalFormat df = new DecimalFormat("0");//格式0后面几个数点表CZ留几位小?br /> System.out.println(df.format(66.6666)+"%");//q样66.666是67%
}
}
标准输出
System.out.print("");//加ln是换?br />标准输入
System.out.println(System.in.read());//這個方法用來讀取阿U斯?br />System.out.println((char)System.in.read());//這個方法是強制轉換Q只能讀取一個字W?/p>
import java.io.*;//用BufferedReader 要引用io?br />class c
{
public static void main(String[] args)throws Exception //要抛异常
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
System.out.println(s);
}
}
要导入util包,util是工具包.
Scanner sc = new Scanner(System.in);
int s = sc.nextInt();
int s1 = sc.nextInt();
System.out.println(s*s1);//用Scanner可以省去判斷的步?在jdk1.5以下的版本不能用
GregorianCalendar calendar = new GregorianCalendar(year,month,day);
int d = calendar.get(Calendar.DAY_OF_WEEK);//今天是一周内的哪一?/p>
<html xmlns=" <head>
<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
<title></title>
<style>
div
{
color: red;
font-size: 13px;
}
</style>
<script>
function tixing()
{
var divObject = document.getElementById("div1");
var text= document.getElementById("t1");
if(text.value.length >=8)
{
divObject.innerHTML = "您输入的用户名必d0-8位之间?;
divObject.style.display = "none";
}
else
{
divObject.innerHTML = "您输入的用户名必d0-8位之间?;
divObject.style.display = "";
}
}
function tixing1()
{
var divObject1 = document.getElementById("div2");
var text2= document.getElementById("t2");
if(text2.value.length >=8)
{
divObject1.innerHTML = "您输入的用户名必d0-8位之间?;
divObject1.style.display = "none";
}
else
{
divObject1.innerHTML = "您输入的用户名必d0-8位之间?;
divObject1.style.display = "";
}
}
function validate()
{
var te1 = document.getElementById("t1")
var te2 = document.getElementById("t2")
var divObject = div1;
var divObject1 = div2;
if(te1.value.length < 8)
{
divObject.innerHTML = "您输入的用户名必d0-8位之间?;
divObject.style.display = "";
}
if(te2.value.length < 8)
{
divObject1.innerHTML = "您输入的密码必须?-8位之?
divObject1.style.display = "";
}
if(te1.value.length < 8 && te2.value.length < 8)
{
divObject.innerHTML = "您输入的用户名必d0-8位之间?;
divObject1.innerHTML = "您输入的密码必须?-8位之?
divObject.style.display = "";
divObject1.style.display = "";
}
}
</script>
</head>
<body> <html xmlns="<head> <body>
<form id="formTest">
用户?br /> <input type="text" id="t1" onfocus="tixing();"/><br /><div id="div1" ></div>
?amp;nbsp码?
<input type="password" id="t2" onfocus="tixing1()" /><br /><div id="div2"></div>
<input type="button" id="bt1" value="d" onclick="validate()"/>
</form>
</body>
</html>
再下面的q个是今天的作业.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
<title></title>
<style>
div
{
float: left;
}
</style>
<script>
function a()
{
var textId0 = document.getElementById("te1");
var text0 = textId0.value;
var areId = document.getElementById("text");
areId.value = areId.value+"1."+"用户?"+text0+"\n";
}
function b()
{
var textId1 = document.getElementById("pa");
var text1 = textId1.value;
var areId = document.getElementById("text");
areId.value =areId.value+"3."+"密码:"+text1+"\n";
}
function c()
{
var radioId1 = document.getElementById("ra1");
var radio1 = radioId1.value;
var areId = document.getElementById("text");
areId.value =areId.value+"4."+"单?"+radio1+"\n";
}
function d()
{
var radioId2 = document.getElementById("ra2");
var radio2 = radioId2.value;
var areId = document.getElementById("text");
areId.value =areId.value+"4."+"单?"+radio2+"\n";
}
function ei()
{
var radioId3= document.getElementById("ra3");
var radio3 = radioId3.value;
var areId = document.getElementById("text");
areId.value =areId.value+"4."+"单?"+radio3+"\n";
}
function f()
{
var checkId1= document.getElementById("che1");
var check1 = checkId1.value;
var areId = document.getElementById("text");
areId.value =areId.value+"5."+"多?"+check1+"\n";
}
function g()
{
var checkId2= document.getElementById("che2");
var check2 = checkId2.value;
var areId = document.getElementById("text");
areId.value =areId.value+"5."+"多?"+check2+"\n";
}
function h()
{
var checkId3= document.getElementById("che3");
var check3 = checkId3.value;
var areId = document.getElementById("text");
areId.value =areId.value+"5."+"多?"+check3+"\n";
}
function select()
{
var a = document.getElementById("selectId");
var b = a.options[a.selectedIndex];
var c = b.value;
var areId = document.getElementById("text");
areId.value = areId.value+c;
}
</script>
</head>
<div>
用户?<input type="text" id="te1" onblur="a()"/><br/>
?amp;nbsp ?<input type="password" id="pa" onblur="b();"/><br />
<a>
<input type="radio" value="吃饭" id="ra1" name="1" onblur="c();"/>吃饭
<input type="radio" value="睡觉" id="ra2" name="1" onblur="d();"/>睡觉
<input type="radio" value="上学" id="ra3" name="1" onblur="ei();"/>上学
</a><br />
<a>
<input type="checkbox" id="che1" value="巷" onblur="f()"/>巷
<input type="checkbox" id="che2" value="街道" onblur="g()"/>街道
<input type="checkbox" id="che3" value="边边" onblur="h()"/>边边
</a><br />
<textarea id="text" cols="20" rows="6"></textarea>
</div>
<form id="selectId0">
<select id="selectId" onblur="select()"; / >
<option value="东东">东东 </option>
<option value="南南">南南</option>
<option value="西西">西西 </option>
<option value="北北">北北 </option>
</select>
</form>
</body>
</html>
q是不完?.?.
]]>
/*for(i = 0;i<20;i++)
{
if(i == 16)
{
break;
}
document.write(i+" ");
}*/
/*for(i = 0;i<20;i++)
{
if(i%2 == 1)
{
continue;
}
document.write(i+" ");
}*/
/*var i = 1;
var j = 1;
for(i = 1;i<10;i++)
{
for(j = 1;j<=i;j++)
{
document.write(i+"*"+j+"="+i*j);
document.write("    ")
}
document.write("<br />")
}*/
/*var i = 1;
var j = 1;
for(i = 1;i<10;i++)
{
for(j = 1;j<10;j++)
{
document.write(i+"*"+j+"="+i*j);
document.write("    ")
}
document.write("<br />")
}*/
/*
while(true) //d@?br />{
alert("fdfd");
}
alert("end");*/
var i = 20;
while(i>5010)
{
document.write(i);
i=i-1;
}
//alert("end");
/*var i = 0;
while(i<100)
{
document.write(i+" ");
if(i%10 == 9)
{
document.write("<br /><br />");
}
i++;
}*/
<script>
alert (b);
</script>
q个hello能打出来?q是今天黄Sir上课问的问题.好多人没反映q来.我也一个吧.
{案是能打出?*因ؓ写在不同块的变量可以怺引用..!!
逻辑q算W?br />&&?是数学上的?
||?
!?
在与里面,只要?个是false,那结果就是false.
在或里面,只要有个是true,那结果就是ture.
?如果是true那么它的非就是false,反之亦是.
如果是数?C只有0是false.只要是非0都是true.
switch(day = 1) //switch只能表示{或者不{的映射关系
{
case day = 1:
{
alert("monday");
}break; //如果不加break会l往下执行,q且忽略后来的比对,直到遇到下一个break.
case day = 2:
{
alert("tuesday");
}break;
case day = 3:
{
alert("wednesday");
}break;
case day = 4:
{
alert("thursday");
}break;
case day = 5:
{
alert("friday");
}break;
case day = 6:
{
alert("saturday");
}break;
case day = 7:
{
alert("sunday");
}break;
default:
{
alert("error");
}break; //最?个可加可不加Q但是加上比较严谨?br />}
var score = 99;
if(score>=90) //表示范围
{
alert("so cool");
}
else if(score>=80)
{
alert("good");
}
else if(score>=70)
{
alert("so-so")
}
else if(score>=60)
{
("pass");
}
else
{
alert("not pass");
}
<html>
<head>
<!-- Created by TopStyle Pro Trial Version - www.bradsoft.com -->
<title>用户注册</title>
<style>
#a,#b,#d,#e,#i,#j
{
padding:;
padding-left: 208px;
}
#c
{
padding: 30px;
padding-left: 208px;
}
#f
{
padding:;
padding-left: 193px;
}
#h
{
padding:;
padding-left: 193px;
}
#g
{
padding:;
padding-left: 224px;
}
#f2
{
margin:;
margin-bottom: 29px;
margin-left: 31px;
margin-right: 43px;
}
#f3
{
margin:;
margin-bottom: 29px;
margin-left: 31px;
margin-right: 43px;
}
#bt1
{
margin:;
margin-left: 36px;
}
#cb1
{
margin:;
margin-left: 30px;
}
/*#f4
{
margin:;
margin-right: 778px;
}*/
#f5
{
margin:;
margin-right: 778px;
}
</style>
</head>
<body>
<form action="#" method="post">
<fieldset id="f1">
<h2>已注册用L?lt;/h2>
<fieldset id="f2">
<legend >
<h3 >d用户</h3 >
</legend>
<p id="a" >用户?br /> <input type="text" id="te1" name="te1">
</p>
<p id="b">?amp;nbsp ?br /> <input type="text" id="te2" name="te2">
</p>
<p id="c">
<input type="checkbox" id="cb1" name="cb1">C?br /> <input type="button" id="bt1" name="bt1" value="d">
</p>
</fieldset>
<h2>未注册创建帐?lt;/h2>
<fieldset id="f3">
<legend >
<h3><fieldset id="f5">用户注册</fieldset></h3>
</legend>
<p id="d">
<h4>您的电子邮箱不会被公布出去,但是必须填写.</h4>在您注册之前请先认真阅读服务条款
</p>
<p id="e">用户?br /> <input type="text" id="te3" name="te3">*(最?0个字W?
</p>
<p id="f">电子邮箱
<input type="text" id="te4" name="te4">*
</p>
<p id="g">密码
<input type="text" id="te5" name="te5">*(最?5个字W?
</p>
<p id="h">重复密码
<input type="text" id="te6" name="te6">*
</p>
<p id="i">同意服务条款
<input type="checkbox" id="cb2" name="cb2">先看看条ƾ?*
</p>
<p id="j">
<input type="submit" id="bt2" name="bt2" value="提交">
<input type="reset" id="bt3" name="bt3" value="重置">
</p>
<h3>*在提交您的注册信息时Q我们认为您已经同意了我们的服务条款</h3>
<h3>*q些条款可能在未l您同意的时候进行修?lt;/h3>
</fieldset>
</form>
</body>
</html>
以上便是我的ȝ!