您的位置:首页 > 职场人生

黑马程序员 Java初级<一>---> JAVA开发前奏

2013-07-05 10:34 363 查看
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------ 

一、java是什么?
简单说,java是由SUN公司推出的一种面向Internet的高级编程语言。
        但,java不仅仅是一种语言。在《java核心技术》上,对java是这么解释的:“java是一个完整的平台,有一个庞大的库,其中包含可很多可重用的代码和一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。”的确,java的强大之处就在于它的跨平台性,这是吸引人的一点。当然,说到java的特性,可以用简单的几个关键词语来描述:简单性,面向对象,健壮性,安全性,多线程以及跨平台性等特点。我这里主要说一下,跨平台性的原因:
所谓跨平台性是指:通过java编写的应用程序可在不同的系统平台上运行。原因在于:java程序在系统中的运行是由JVM虚拟机来负责的。也就是说,JVM针对不同的操作系统有不同的版本,每种操作系统都有对应的JVM,这样,通过JVM这个纽带,将java程序可在不同平台上应用。图示:



 

    java之所以能够跨平台,靠的就是java虚拟机,简写JVM,只需要运行写好的java代码,则安装jre(Java Runtime Environment  java运行环境)就够了,而作为致力于开发的人员,就要安装jdk(Java Development Kit  Java开发工具包)。jre是包含在jdk中的,它们的下载地址为www.oracle.com
java.sun.com 。自己携带安装好的jdk文件夹,只要配置路径,到新的机器也可以使用。

    配置jdk路径:首先找到jdk中javac的路径并复制(在bin文件夹中),右键我的电脑->属性->高级->环境变量->系统变量,双击path路径,在前方粘贴javac的路径并以分号(;)结束,注意保留原有的其他路径。

    配置技巧:若是jdk文件夹路径可能会有所改动,可以先在系统变量中添加一个JAVA_HOME,值为jdk文件路径,然后在path中添加%JAVA_HOME%\bin; 这样就将容易变化的jdk路径单独提取出来,便于修改。

    用记事本编写java小程序并运行的过程:

    1、开始菜单新建记事本(不要在某处右键新建),写好程序后保存时,选择所有文件类型,名称的最后要以.java为后缀。

    2、开始->运行->cmd 进入DOS,用命令行语句找到保存的文件路径,例如第一步的文件为Demo.java

   3、javac Demo.java回车,没有反应说明编译成功,再敲入java Demo,对生成的class文件进行运行即可

     

    增强阅读性是写代码的前提。个人理解:因为编程是需要众人配合的,也是需要相互沟通,共同进步的。所以注释是不可或缺的。java中注释有三种形式:

    单行注释 // ...

    多行注释 /*...

..................*/ (注意:多行注释中不能包含多行注释)

    说明书内容   /**.....*/

    当然,注释也可用于屏蔽部分代码便于调试。

    java中是严格区分大小写的,编程中通常起名的方式:  

 包名:xxxyyyzzz

 类名接口名:XxxYyyZzz

 变量名和函数名:xxxYyyZzz

 常量名:XXX_YYY_ZZZ

    这样不仅方便自己阅读,也有助于他人更快地理解。约定俗成的东西,养成好习惯有助于大家沟通。

    基础组成有:关键字、标识符(起名不能用关键字,数字不能开头,范围是大小写英文字母,0-9数字以及$符号)、注释、常量和变量、运算符、语句、函数、数组

    计算机采用二进制,每个字节有8位。负数的二进制表现形式为取反再+1;

    十进制转换为二进制:除以2保留余数,直到商为0,将各余数倒序输出即可。

    二进制转换为十进制:个位*2(0)+十位*2(1)。。 例如二进制数110=0*2(0)+1*2(1)+2*2(2)=6

    十六进制为2的4次幂,4位二进制数可组成1位十六进制数。 

    毕向东老师 视频中进制转换的小例子:(包含了很多知识点,通过注释便于复习)

class Test 

{

         public static void main(String[] args) 

        {

                  toBin(-6); //调用toBin类,计算-6的二进制数

                  toHex(-60);//调用toHex类,计算-60的十六进制数

                  toBa(60); //调用toBa类,计算十进制60转换成的八进制数

                System.out.println(Integer.toBinaryString(6)); //用java定义好的类输出6的二进制数

                  System.out.println(Integer.toHexString(6));  //用java定义好的类输出6的十六进制数

         }

         public static void toBin(int num) //十进制转换为二进制

         {

                  trans(num,1,1); //二进制一位上数字为一的数是1,二进制只需右移一位,所以传参是两个1

          }

         public static void toBa(int num) //十进制转换为八进制

        {

                  trans(num,7,3); //二进制三位上数字都为一的数是7,8是2的3次幂,需右移3位

         }

         public static void toHex(int num) //十进制转换为十六进制

         {

                  trans(num,15,4); //二进制四位上都是1的数为15,16是2的4次幂

         }

 

 public static void trans(int num,int base,int offset)  //定义进制转换的一个通用类

        {

            if(num==0)  //判定传入的数是否为0     

                  {

                          System.out.println(0);  //因为0的任意进制都为0,所以输出0

                          return ;  // 返回则不必执行下面的多行代码

                   }

                  char[] chs = {'0','1','2','3'     //定义数字对应符号的数组,最高可用于十六进制

                    ,'4','5','6','7'

                    ,'8','9','A','B'

                    ,'C','D','E','F'};

                  char[] arr = new char[32];  //定义一个32位的字符数组存储转换后的进制符号

            int pos = arr.length;  //将数组长度传递给pos

        
9066
   while(num!=0) //直到num所有有效位都移走才停止

                   {

                               int temp = num & base; //新建一个变量存起num转换后的最后一位代表的数字

                               arr[--pos] = chs[temp]; //通过chs字符数组找到对应的字符并存到arr的倒数第二位

                               num = num >>> offset; //通过无符号右移,移除相应位数,准备下次转换

                    }

          for(int x=pos; x<arr.length; x++) //从有效位一直到最后一位

                 {

                             System.out.print(arr[x]); //输出转换后的结果

                  }

          return ;

          }



 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------ 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  黑马程序员