java——java的基础语法与变量
一、java概述
- 推荐书《thinking in java》java编程思想
- 网络资源:
(1) Java官网:line1.
(2) 程序员社区:line2.
(3) 网易云课堂:line3.
(4) 中文最大mooc:line4.
(5) 世界一流大学免费课程:Coursera
(6) 程序员的天堂:line5.
–类名首字母大写,后面单词驼峰命名
–方法名和变量名首字母小写,后面单词驼峰命名
- 对象:现实世界中的客观实体,计算机中可标识的存储区域。
- 类:具有共同属性(变量)和行为(函数)的对象集合。
class Person{
int age;//属性
String name;
void sayHello(){...} //方法
}
- 类是对象的模板,对象是模板的实例。
- 封装:
(1)模块化:将属性和行为封装在类中,程序定义很多类。
(2)信息隐蔽:将类的细节部分隐藏起来,用户只通过受保护的接口访问某个类。
claa Person{
private int age;
public int getAge(){return age;}
publc void setAge(int a){age=a;}
String name;
void sayHello(){...}
}
- 继承:父类和子类之间共享数据和方法
更好的进行抽象与分类,增强重用率,提高可维护性。class Person{//父类 int age; String name; void sayHello(){...} } class Student extends Person{//子类extends继承 String school; double score; void meelTeach(){...} }
- 多态:
(1)不同的对象收到同一消息(调用方法)可产生完全不同的效果。
(2)实现的细节则由接收对象自行决定。
foo(Person p){p.sayHello();}
foo(new Student());//用学生的方法打招呼
foo(new Teacher());//用老师的方法打招呼
- 程序设计需考虑的问题
(1)有哪些对象类
(2)每个类有哪些属性、哪些方法。
(3)类之间的关系(继承、关联。。。)
(4)对象之间发送消息(调用方法)
二、java编程基础
1>java的基本语法
- java中的程序代码都必须放到一个类中。
- 连续的字符串不能分开在两行书写如:两字符串之间要加“+”1. System.out.printIn(“这是第一个”+ 2. “java程序!”);
- 单行注释 // ,多行注释 /…/ ,文档注释 /**…*/
- 标识符可以由字母、数字、下划线、$组成。不能以数字开头,不能是关键字。(中文可以,但是不建议)
- 书写规则
(1)包名所有字母都小写,cn.itcast.test。
(2)类名 和接口名每个单词的首字母大写,ArrayList。
(3)常量名所有字母大写,单词之间用下划线连接,DAY_OF_MONTH。
(4)变量名和方法名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写,linNumber,getLineNumber。
(5)标识符要易懂,密码password。 - 常量
(1)整型常量:二进制(Ob或OB开头 与十进制分开),八进制(0开头,0-7范围内),十进制(0-9),十六进制(Ox或OX开头,0-8、A-F,大小写不敏感)
(2)浮点数常量:float单精度浮点数(f/F结尾),double双精度浮点数(d/D结尾),不写默认double。
(3)字符常量:可以是英文字母、数字、标点符号、转义序列。用’’引。
(4)字符串常量:包含零至多个字符,用""引。
(5)布尔常量:只有true与false。
(6)Null常量:只有null,表示对象的引用为空。
2>java中的变量
- 变量:保存临时数据的内存单元。
变量名:内存单元的标识符。变量的值:内存单元中保存的值。 - 变量的数据类型
(1)整型:
字节型(byte 1字节),短整型(short 2字节),整型(int 4字节),长整型(long 8字节),Long赋值时所赋值后加l/L(详P32)。
(2)浮点数:
单精度(float 4字节),双精度(double 8字节),float赋值时所赋值后一定要加f/F。Double随意。
(3)字符类型变量:char(2字节)
char c='a';
char ch=97;
(4)布尔型变量:
boolean flag=false;//声明一个boolean类型的变量,初始值为false。
flag=ture;//改变flag变量的值为ture。
- 变量的类型转换
(1)自动:数据彼此兼容?且小—>大。
(2)强制:数据不兼容或大—>小。
int num=4;
byte b=(byte)num;
*注意:表达式类型自动提升
public class Example03 {
public static void main (String[] args){
byte b1=3;
byte b2=4;
byte b3=(byte)(b1+b2); //表达式b1+b2运算期间,b1、b2被自动提升为int,结果也为int。
System.out.printIn("b3="+b3);
}
}
- 变量的作用域:
各变量需在各自作用域下才能被访问。
程序的类型
Application程序
public class HelloWorldApp{ //定义了一个叫HelloWorldApp的class的类(主体)类名与文件同名如此文件名为HelloWorld.java。
public static void main (String args[]){ //main方法(函数),写法固定,public(公用的)static(静态的)void(无返回值的)+(参数)
System.out.println("Hello World!"); //System.out 系统的输出 ;print 显示;printf格式化的显示,打印; println换行的显示。
}
}
Applet程序
import java.awt.*;//import表示导入(已存在的类)
import java.applet.*;
import javax.swing.*;
public class HelloWorldApplet extends JApplet/*(或Applet)*/ {
public void paint(Graphics g){
g.drawString("Hello World!",20,20);
}
}
需写一个HTML文件,将Applet镶嵌进去。
疑问
- 数据是否兼容是什么意思
- 表达式类型的自动提升的原因
教材
java基础案例教程