java基础
static是静态。
静态方法不能访问非静态成员。
非静态方法可以访问静态成员。
int i = 3;
public static void main(String[] args)
{
System.out.println(i);
}
这个就会报错。因为静态方法不能访问非静态成员!!
static int i = 3;
public static void main(String[] args)
{
nbn n = new nbn();
n.abc();
}
public void abc()
{
System.out.println(i);
}
这个就不会报错。因为非静态方法可以访问静态成员。
public(訪問修飾符)static(訪問修飾符)void(返回類型) main(方法名)(String[] args)(參數表){}
import javax.swing.*;
import java.text.SimpleDateFormat;
class jframe
{
public static void main(String[] args)
{
JFrame jf = new JFrame();//窗口
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd");//时间格式
java.util.Date da = new java.util.Date();//显示时间的对象申明
jf.setTitle("w.a.n");//设置标题
jf.setSize(300,300);//设置窗体大小
jf.setVisible(true);//显示
JOptionPane.showMessageDialog(jf(位置),"hello");//弹出窗口显示HELLO
String a = JOptionPane.showInputDialog(null,"can you see?");//输入窗口,窗口提示为can you see
JOptionPane.showMessageDialog跟JOptionPane.showInputDialog还有一种参数写法。
JOptionPane.showMessageDialog(null," "(显示信息)," "(标题信息),JOptionPane.INFORMATION_MESSAGE);
System.out.println(sf.format(da.getTime())); //输出年月日。用SimpleDateFormat
}
}
三种注释
/**
*文檔註釋,寫在開頭 ( 注明程序的功能,以及相關信息)
*功能:
*作者:
*版本:
*開發日期:
**/
/*
*多行註釋
*///單行註釋
import javax.swing.JOptionPane;
class Area
{
final private static double PI = 3.1415; //常量的申明: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);//类型转换
s = rr*rr*PI;
JOptionPane.showMessageDialog(null,"圓面積是:"+s);
}
}
类型转换
String转double
xx = Double.parseDouble(要转换的数据名字);
String转int
xx = Integer.parseInt(要转换的数据名字);
int转String
String s = String.valueOf(12);
或
String s = new Integer(10).toString();
注意!!
float f = 2.33 是错的。因为2.33默认类型是double.
改正:float f = 2.33 F;
还要注意
高内聚,松耦合。
函数分解。
这样代码看起来会很清爽。
import java.text.DecimalFormat;
class Dformat
{
public static void main(String[] args)
{
DecimalFormat df = new DecimalFormat("0");//格式0后面几个小数点表示保留几位小数
System.out.println(df.format(66.6666)+"%");//这样66.666就是67%
}
}
标准输出
System.out.print("");//加ln是换行
标准输入
System.out.println(System.in.read());//這個方法用來讀取阿科斯碼
System.out.println((char)System.in.read());//這個方法是強制轉換,只能讀取一個字符
import java.io.*;//用BufferedReader 要引用io包
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);//今天是一周内的哪一天