原创 【博客大赛】android笔记6-JAVA基础

2013-12-22 00:31 1394 19 24 分类: 软件与OS 文集: Android
1、关于main 中的String args[] 或者 String[] args 
Main是程序的入口,而string[] args是程序启动时所必须带的参数...,用来获取所输入的信息的。举例说明如下:
 
 
 
straul good 和0 1 就是执行Test后输入的参数,后面直接得到返回值。由此可见,args[]是main()函数用来获取启动时候输入的参数的一个数组。
 
2、变量必须初始化后才能够使用
public class AddSum{
 public static void main(String args[]){
  int i=0 ,result =0;
  for(i=0;i<100;i+=2){
   result+=i;
  }
  System.out.println("result="+result);
 }
}
 
3、对象必须使用 new 关键字来创建对象
 
4、标识符
由字母、下划线、美元符和数字组成;区分大小写,长度不受限;
第一个字符不能是数字,不能是关键字,而且不能是 true , false 和 null ,尽管他们都是java 中的关键字。
 
5、8种基本数据类型
逻辑类型:boolean ,布尔,只有两个选择:要么是true ,要么是 false 
整数类型:byte(1个字节,-128到127),short(2个字节,-32768到32767),int(4个字节,从-2^31 到 2^31-1) ,long (8个字节内存),注意long 常量后面必须有l或者L结尾。
字符类型: char 分配了2个字节内存,与short不同,最高位不是符号位,所以其范围是0~65535。注意,与C语言不同,一定不能用unsigned 来修饰char , char 是无符号的字符类型。
浮点类型:float(4个字节内存) 和 double  (8个字节),float 常量后面必须有字母f或F,如7.23F ; 而double 常量后面必须有字母D或d
 
 
6、类型转换
8个类型从低到高的排列顺序是 byte -> short -> char -> int -> long -> float -> double 
当从低级类型到高级类型,系统自动换算,不用加强制类型转换符;
而从高级到低级时候转换要加强制类型转换符号,具体看如下手册:
 
7、关于编译和执行程序
一个java的程序只有两个要求:
(1)程序中必须有 包括 public void main(String agrs[]) 或者 public void main(String[] agrs)这个方法的类;
(2)程序以主类的名字命名。
 
首先进入java 程序文件所在的目录,如 D:\MyJavaProgram\HelloWorld 那么
 
在命令行下编译java 程序的命令是:javac xxx .java 这里xxx 是java文件的名字
执行Java程序是 java yyy 这里yyy 是主类的名字
举例如下,源程序如下:
public class Person
{
 void speakHello(String s)
 {
  System.out.println(s);
  System.out.println("\r\nNice to meet you,too! ");
 }
}
 
class Xiti
{
 public static void main(String args[])
 {
  Person zhang = new Person();
  zhang.speakHello("Nice to meet you ");
 }
}
便可得到下面结果。
 
 
8 输入输出数据
(1)输入数据:
使用Scanner 这个类来创建对象读取用户在命令行下输入的数据。如这里新建对象reader
Scanner reader = new Scanner(System.in);
然后使用:next数据类型();来输入数据。
如这里给double 类型 x输入数据:
double x = reader. nextDouble();
输入以用户回车作为结束的标志。
 
(2)输出数据
用System.out.println()或System.out.print()来输出数据,两者不同之处在于前者输出数据后顺便换行,后者不换行。
另外JDK1.5后,还有和C语言中printf()类似的控制格式输出命令
System.out.printf("%d,%c,%f,%s等",表达式或者数据,变量);
 
9 运算符
(1) 逻辑运算符 
逻辑与 && 
逻辑或 || 
逻辑非 ! 
 
(2) 位运算符 
按位与 & 
按位或 | 
按位非 ~ 
按位 异或 ^ 
 
(3)双目运算符
instanceof 用来验证A是否B的子类。
A instanceof B,
 
10 类
一个java 应用程序就是若干个类所构成的。
类声明的变量被称作对象。
类的定义包括两部分,类声明和类体。 如
class Person  //类声明
{  
...        // 类体
}
class Person就是类声明。 类名的首字母应该大写,若由几个单词合成,那么每个单词的首字母应该大写。
 
一个java 应用程序或者一个java工程,是由若干个类组成的,可以是一个源文件(即.java文件)也可以是多个源文件。每个源文件都可以
有很多个类,但必须的,只能有一个源文件下的一个类里面有main方法,这个类称为主类。所以,成功运行一个工程应该经历两步
第一步,编译所有的源文件;
第二步,运行主类。
 
全部编译当前目录下所有的源文件,可以用通配符* 
javac *.java   //星号+下标点+java
 
尽管一个源文件下可以有多个类,但是,我们提倡一个java源文件下只编写一个类。
 
 
类使用类体来描述对象的属性和行为。关键是抓住对象的两个方面——属性和行为,即数据和数据上进行的处理方法。
(1)成员变量
类体中的内容可分为两个部分,一方面是变量的声明,这个声明的变量就被称为成员变量。
成员变量可以是Java中任意一种数据类型,包括基本类型和引用类型(数组、对象和接口);
如 
class Factory
{
float t ;
Workman zhang;
}
 
class Workman
{
double x; 
}
 
这里的类Factory声明了两个成员变量,t 和 zhang, t是float类型,而zhang是对象,Workman类所声明的对象。
 
成员变量的有效范围是整个类内,出了这个类则无效。
 
成员变量又细分为实例变量和类变量。用关键字static 修饰的变量就是类变量,否则就是实例变量。二者的区别在于三点:
  • 不同对象的实例变量互不相同,改变其中一个对象的实例变量不会改变其他对象的
  •  
 
注意: 
尽量一行声明一个变量;
名字的单词的首字母使用小写;
尽量见名知意,不要使用m1 ,l1 这种不好笼统难以区分的名字。
 
(2)方法
方法包括两部分,方法头和方法体
类型 名称                           //方法头
{
局部变量声明;
 java 语句;            //方法体
}
 
(3)用this 区分成员变量和局部变量
 
如果成员变量和局部变量重名,那么成员变量被隐藏,即失效。
如果想使用该成员变量,那么则前面加上this. 注意是this 加上一个下标点
 
成员变量和局部变量有一点比较不同的就是
成员变量有默认值,而局部变量没有,所以必须给局部变量赋初值才能够使用。否则报错。
 
(4)类的UML图
UML图就是结构图,常用来表示一个系统的静态结构。表示类就是三层结构。
第一层是类名;
第二层是变量层,就是列出类的成员变量及其类型,格式是“变量名字:类型”
第三层就是方法层,格式是“方法名字(参数列表)”
 
11 构造方法
 
当一个躯体再完美,你不给他灵魂,他都是毫无生气的。
因此,和基本类型不同,你用类来声明对象后,还不够,还必须创建对象,即为声明的对象分配所拥有的变量,确定他所具有的属性。
这就是构造方法。
 
当程序用类创建对象时需要使用它的构造方法。构造方法的名字必须与它所在的类名字相同,而且没有类型。
允许一个类中有多个构造方法,但是必须保证他们的参数不同,要么是个数不同,要么是类型不同。
如果你写的类中没有构造方法,那么系统默认给你一个构造方法,该方法无参数,方法体无语句,即完全是一个空白的方法。
举例:
 
class Point
{
int x ,y ; 
Point()
{
x =1 ;
y =1 ;
}
 
Point( int a ,int b )
{
x =a ;
y=b ;
}
 
void Point()
{
x =2;
y =5;
}
 
int Point( int a , int b )
{
x = 2*a;
y = 4-b;
}
}
 
大家可以自己想象这个类中有几个构造方法?
答案是2个。第一个和第二个。后两个都不是,因为构造方法是没有类型的,哪怕是空类型!!
 
 
12 创建对象 
创建对象包括对象的声明和为对象分配变量。
(1)创建对象
类的名字 对象的名字;
(2)分配变量
对象名字  = new 构造方法;
 
举例:
class Sing
{
    Sing( int a )
{
...
}
...
}
 
public class Dancing
{
void st()
{
Sing  test;     //创建对象
test = new Sing(2);  //分配变量
}
}
 
PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

345002072_353389109 2014-1-18 12:48

已更新,由于内容太多,直接以网页形式分享了。

用户1314307 2014-1-18 11:59

谢谢博主,太感动了,感恩!

345002072_353389109 2014-1-18 11:42

好,等会发出来。

用户1314307 2014-1-18 11:30

本篇博文有些不全,能否请博主补齐,以利学习,谢谢!

345002072_353389109 2013-12-24 22:01

明天java考试啦,吼吼,加油!
相关推荐阅读
啊左不是蜗牛 2015-01-28 09:21
【博客大赛】那样的人生,看不穿
         昨晚11点跟PM姐姐聊天,问她今晚要不要加班,她回:刚刚开发哥哥陪她出来打的。。。我以为我十点半从实验室回去已经够晚了。。我脸红了。        我问她为什么不早点回去...
啊左不是蜗牛 2015-01-13 19:41
【智能手机】三个观点说说国产手机未来
在此篇文章之前还有一个各大手机品牌的总结,请点击查看。 智能手机之论英雄出处      谈手机之前换个角度,类比一下PC领域。 PC领域毛利最高的时候,国产PC一直混在低端。随着时代发...
啊左不是蜗牛 2015-01-09 17:56
【智能手机】论英雄出处
我认为,如果你不知道对手的底细,那么你就很难战胜对手。知己知彼,百战百胜。所以,我简单地说说我对这几家手机品牌的看法。个人之见,欢迎讨论。   苹果: 1976年成立,在乔布斯这样的天...
啊左不是蜗牛 2014-11-19 13:48
【博客大赛】蜗牛求职记之华为篇
1、前言说明          蜗牛是电赛出身,本科做硬件嵌入式,画板子和写C程序,然后研究生阶段是转战android,但是由于项目涉及到硬件,导师项目众多,小伙伴少,于是我也负责部分st...
啊左不是蜗牛 2014-08-16 14:38
以另一种位图的思想来解决一道OJ题目
前言: 以前所接触到的位图的思想都是以1位的形式去存储某个数出现的次数是1次还是0次。常见的例子不外乎在《编程珠玑》上的开篇例子里,1千万个数的排序统计,用1.25M的内存空间就可以达到遍历一...
啊左不是蜗牛 2014-08-15 11:57
Android 笔记之 listview 性能优化
列表显示需要三个元素, (1)listview 视图,用来显示列表的View ; (2)适配器,用来把数据映射到listView上面的 (3)数据,具体将被映射的数据,包括字符串,图片...
我要评论
5
19
关闭 站长推荐上一条 /3 下一条