Android_开发_Day7_java基本常识
Android_开发_Day7_java基本常识
目的:
了解程序员的开发工具Java,学会Java的基本语法。
技术:
<1>java的发展和特性: java大概诞生于1995年初,Sun公司把java发布到互联网上,免费提供给大家使用。JDK Version 1.0 开发代号为Oak(橡树),于1996-01-23发行。 JDK Version 1.1 于1997-02-19发行。 Java的特点:
1.java的风格类似C++,从某种意义上讲,java是C++的一个变种
2.java摒弃了C、C++中的容易引发错误和难以理解的指针,结构,以及内存管理等
3.java提供了丰富的类库,很方便开发程序
4.java是完全面向对象的语言,支持 继承,重载,多态等面向对象的特性;
C++是面向对象和面向过程的混合语言, C是纯面向过程的语言
5.java是一种强类型的语言,比C/C++检查还要严格,java区分大小写字母
6.java提供了自动垃圾回收机制gc,有效避免了C、C++的内存泄漏问题
7.java禁止非法访问内存,因为java没有指针,内存的申请和释放
8.跨平台,java的源代码编译成结构中立的中间格式,这种格式与机器无关,只要在安装有JVM(java虚拟机)
的电脑上,都能运行这种与机器无关的中间文件,.class ,
java一次编译,到处运行
9.对于不同的操作系统,会有不同的java虚拟机,这也就决定了java的可移植性
10. java支持多线程,简单理解,如果是单核CPU,那么会通过时间片轮转的方式,多线程执行程序,如果是多核CPU,那么就可以。
<2>使用Android studio创建你的第一个Java:先创建一个普通的Android APP工程,然后创建一个新模块,如图:
{EAD5F2B7-0378-48AB-ADEB-64CA9DE74D76}.png.jpg
然后选择里面的Java library,最终创建如图:
{1CFFA40E-AD51-4BAD-A657-E169D88224D5}.png.jpg
打开文件可以找到我们刚才创建的项目,并且可以找到源代码的路径:盘符:\Android\MyApplication1(文件自定的储存位置)\app\src\main\java\com\example\myapplication1(你的代码的源码)xxx.java 如下图:
{24E8649D-A467-4A8C-8C3E-770079A215BA}.png.jpg
如果要打开已有工程,直接打开你工程所在的文件夹即可,不用进文件夹。由此我们可以看到,包名是以文件夹的层级来命名的,如图:
{87D01464-BB20-48CB-A23D-DCC12CADE94B}.png.jpg
其中的标识应该要知道:
{37A2F153-29E7-43B8-AE55-D79CFD778FF6}.png.jpg
<3>包的创建和管理:创建一个包就像创建一个文件夹,道理是一样的,而类就好比文件,同一个文件夹中类不能同名,但不同的文件夹中却可以,创建文件夹的操作如下:
{CCBFD129-3AF8-434E-B735-7A7B71CDFD93}.png.jpg
<4>main函数的详解:先看main函数:public static void main(String[] args){……}由于main函数是程序的接入点因此必须是公开的,同时main函数又必须是静态的,因为main函数的加载必须比其他类快。由于Java是垃圾回收机制所以不需要返回值,参数与c语言的参数是一样的。
<5>输出语句:Java中用System.out.print()来输出,其中System就是一个类。out是该类的一个成员对象,print()就是其方法。
<6>输入语句:Java中接收输入需要用到一个类,Scanner类,用的时候需要给他指定要用去接收拿个地方的输入,因此在调用其构造方法时需要加入System.in的参数。然后可以通过里面的nextInt()方法来获取终端的值,其返回值是一个int类型的数,当然Scanner类里面不仅有int型的还有其他类型的。
<7>随机数的产生:Java中随机数的产生可以用Random类,然后掉用里面的nextInt()方法的返回值就是一个随机数,若要控制随机数的范围只要在括号中加入参数,参数是随机数的最大值。
技术如何使用:
我们可以通过重写之前的数字游戏来练习自己的编程能力,同时感受一下c语言与Java的区别。代码如下:
class killMan{
public static void main(String[] args) {
int num = 0;
int count = 0;
int totalKilled = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入参与的人数:");
num = scanner.nextInt();
int[] temp = new int[num];//定义一个数组保存所有的编号
for (int i = 0; i < num; i++){
temp[i] = i+1;
}//编号
System.out.print("请输入死亡编号:");
int killNumber;
killNumber = scanner.nextInt();
for (int i = 0; i < num; i++){
//System.out.print("here");
if (temp[i] != -1){
count++;
if (count == killNumber){
temp[i] = -1;
totalKilled++;
count = 0;
}
//System.out.print(totalKilled);
if (totalKilled == num-1){
break;
}
}
if (i == num-1){
i = -1;
}
}
for (int i = 0; i < num; i++){
System.out.print(temp[i]+" ");
}
}
}