Java基础1(基础、运算符、语句1)

来源:互联网 发布:淘宝自动好评是多久 编辑:程序博客网 时间:2024/05/16 17:36

基础就是根!基础好才能有所飞跃。。。。。。。。。。。

1. 软件:一系列按照特定顺序组织的计算机数据和指令的集合。

   常见的软件:系统软件(如DOS,Windows,Linux等);应用软件(QQ,迅雷,快播等)等。

   人机交互方式:图形化界面;命令行方式。

   开发就是制作软件,软件的出现实现了人与计算机更好地交流。

  DOS命令行常用指令(目录多数情况下指的是文件夹)

      dir:列出当前目录下的文件或者文件夹

      md:创建目录

      rd:删除目录(要求该目录必须是空的)

      cd:进入目录文件夹

      cd..:退出一级目录

      cd\:退出到根目录下

      del:删除文件      exit:退出DOS命令行

假如文件夹a内有文件,若要删除该文件夹,可以用两条指令,即 del a回车,rd a回车即可

 

2.Java---SUN1995年推出的一门高级编程语言。(完全面向对象、安全可靠、与平台无关)

Java的三种技术构架:JavaEE(企业版,主要用于web应用程序开发)

                                     JavaSE(标准版,基础版本)

                                     JavaME(小型版)

Java特点:跨平台性(即可移植性):用Java编写的应用程序在不同的系统平台上都能运行。

                  原理:在需要运行Java应用程序的操作系统上安装JAVA虚拟机(JVM)即可。由JVM来负责Java程序在系统中的运行。不同的系统有不同的JVM,即JVM依赖于平台,根据平台的不同有不同的版本。

 

3.Java语言的环境搭建

   JRE(Java运行环境):JVM;核心类库(运行工具)。

   JDK(Java开发工具包):JRE;开发工具。

若只想运行Java程序,只要安装JRE即可。

二者间的关系相当于用JDK编写的Java的程序,用JRE去运行。

  bin目录下的命令需要命令行方式运行,开发工具都在bin目录下,该目录下的.exe文件也是Java编写的,需要JVM的支持。所以JDK里面有JRE。在DOS中,要使用这些命令就必须先到bin目录下,为了在任意目录下都能执行这些命令就需要配置环境变量,即在系统中注册这些命令,将这些命令的路径告诉系统,目的就是为了更方便的应用Java开发工具。

       JDK安装完成后的文件夹移动到另一台计算机中依旧能使用。即不安装也可以使用,安装的话只是在注册表中有注册,可以联网自动更新。

 环境搭建——1,下载 2,安装 3,配置环境变量 4,DOS中在任意目录下输入javac进行检验

配置环境变量              配置方法:1,传统的一劳永逸的方法,直接改变path的值,用;隔开。(我的电脑-属性-高级-环境变量)

        path——Java开发工具所在路径

                                 2,动态配置,用%%把容易变化的部分目录提取出来。%%是动态获取某个已存在的环境变量的值。(新建环境变量JAVA_HOME的值为易变化的值,path为%JAVA_HOME%)

                                3,临时配置,即通过DOS命令set 配置,这种方法只在当前窗口有效,但若用start重开窗口的话将沿袭上个窗口的值。set :查看/设置环境变量的值。set path:查看path的值。set path=()即将path的值改为()。若要在path的基础上添加新值,可以用set path=%path%;要添加的新值

        classpath——类文件路径,即java运行文件所在目录(执行类文件的时候,java.exe命令会启动JVM,JVM将先去classpath路径下寻找该类文件,若存在就执行。)

              配置方法:1,临时配置,利用set命令同path的配置方法

                                2,我的电脑-属性-高级-系统变量,新建变量classpath进行配置。

(注:若classpath的值没有配置,则JVM就会寻找当前目录;若设置了值,则JVM会找classpath里得路径。

  1,若classpath的值后面加了;会先找classpath的路径,若有类文件就执行,没有就会继续找当前目录。

   2,若classpath的值后面没有加;则先找classpath的路径,若有该类文件就执行,没有的话就不会继续寻找而报异常

我们配置classpath的时候,不要在后面加;。因为,我们之所以设置classpath,就是为了去指定目录下找。若加了;则有可能不是我们指定目录下的类文件。

与classpath不同,path是先找当前目录再寻找path。二者的查找顺序都是自左向右的。

  

还可以给classpath配置多路径,即值为多个路径,之间用;隔开。如c:\;d:\——先找c盘,找不到再找d盘;.;c:\;d:\——先找当前目录,.代表当前目录。

(注意区分.;c:\;d:\和c:\;d:\;前者是先找当前目录,找不到再去找C,再找不到就去找D。若找到就不会继续找下一目录。后者是最后最后找当前目录,若找到就不会继续找下一目录。个人认为就是顺序问题吧)

4,注释

      作用:1,注解说明解释程序

                  2,调试程序

//单行注释

 

/*

 */多行注释

 

/**

  */文档注释(Java的特有注释)

(单/多行注释里面可以有单行注释,多行注释里面不可有多行注释,写代码要养成写注释的习惯。一般习惯:类上面加文档注释;函数上面加文档/多行注释;代码中某几句关键且难懂的加单行注释)

1,java语言的基础组成

(关键字,标识符,注释,常/变量,运算符,语句,函数,数组)

(1)关键字:被java赋予特殊含义的单词,关键字中所有字母都是小写。

(2)标识符:在程序中自定义的一些名称,如 类名

                    由26个英文字母的大小写、数字0-9、符号_和¥组成

                    定义规则:a、数字不能开头

                                                              b、不能使用关键字

main不是关键字,但是被JVM识别;java中严格区分大小写。

(4)常量:表示不能改变的数值

          负数的二进制表现形式:其对应的正数的二进制取反加一

         变量:内存中的一个存储区域;该区域有自己的名称(变量名)和类型(数据类型);该区域的数据可以在同一类型范围内不断变化。

               将不确定的数据进行存储,也就是需要在内存中开辟一个空间,开辟空间就是通过明确数据类型、变量名称和数据来完成。

       数据类型:(1)基本数据类型

                         byte(8位,-128~127)、short(16位-32768~32767)、int(32位-2^31~2^31-1)、long(64位)

                         flaot(32位)、double(64位)

                         char(16位)(一个汉字也是16位,可以认为是char型)

                         布尔型(true、false)

                         (2)引用型数据类型(类,数组,接口)

                整数默认类型是int型,小数默认类型是double;定义flaot型数据时后面加一个f

 自动提升:把两个数据转换成同一个类型才能运算,小的向大的提升。

 强制转换:

               用途:比如取小数的整数部分

(byete、short、char,相互之间任意组合进行运算的时候都要先提升成int型)

运算符:

1%-5=1

-1%5=-1

-1%-5=-1    有负数的时候只看被除数的符号。

 

+:(a)加法    

     (b)字符串连接符

               字符串和任何数据类型相加最终都是字符串类型

 

转义字符:通过\来转变后面字母或符号的含义

                \n:换行,换到下一行

                \t:就是回到本行行首,假如\r后面有字符,就会覆盖\r前面的字符,有几个就覆盖几个

                 \b:backspace(就是删除一个字符)

                 \t:制表符(就是空几位)

赋值符:+=、-=、*=、%=  (x+=4就是x=x+4的意思)

          例:short s=4;

                 s=s+4;(两次运算,先加法再赋值)

                 s+=4;(一次运算,只有赋值运算)

 

逻辑运算符:用于连接布尔型的表达式

                ^ 异或:相同为假,不同为真。

                &&和&的特点:&无论左边是真是假,右边都要运算;&&当左边为假时右边不运算。

                ||和|的特点:|两边都运算;||当左边为真时,右边不运算。

 位运算:(二进制位的运算;做运算时,位运算是最快的)

       << 左移:右边补0;越移越大,相当于这个数乘以2的移位数次方。如3<<2=3*2^2=12

       >>右移:高位上原来是什么就补什么;越移越小,相当于除以2的移位数次方取商。如6>>2=6/2^2=1

       >>>无符号右移:高位补0

 

~反码(取反)

          负数减一取反就是对应的正数;

          正数取反加一就是对应的负数;(这是负数的表现形式)

 

异或:比如6^7^7=6,即一个数异或同一个数偶数次,那结果还是这个数

         练习:

             1、最有效的方式算出2*8

        解:最快的运算方式是位运算,所以很容易想到移位

                 2<<3

       2、已知m=3,n=8,互换两个变量的值

          (1)最易想且开发最常用的就是利用第三方变量

                    temp=n;

                    n=m;

                    m=temp;

              (2)技巧性的方法

                     利用异或的性质,一个数异或同一个数偶数次,那结果还是这个数

                   n=n^m;

                  m=n^m;

                   n=n^m;

           (3)

                 n=m+n;(如果两个数比较大,容易超出范围)

                 m=n-m;

                 n=n-m;

右移:有个小用途,比如求一个数的16进制表现形式

         

  这个做法就是四位一取值,出来的值如果大于9,那就要转换成字母,

即(取出的数-10)+‘A’

如果求八进制表现形式,那就是和7与运算,右移3位。二进制就是和1与运算,右移1位。

如果是正数的话,用>>和>>>都行,如果是负数的话用>>。因为一个是往高位补零,另一个是高位是几就补几,因为负数高位是1,所以用>>>合适。

 

三元运算符:

                    (条件表达式)?表达式1:表达式2

条件表达式的值要么是true,要么是faulse。前者就执行表达式1,后者执行表达式2

 

程序流程控制

          判断语句  if

               if常用的三种句式,带else的语句,总会有一个结果。只有if的语句肯能没有结果。

               if else的结构简写形式:变量=(条件表达式)?表达式1:表达式2,即三元运算符,其特点:可以简化if else代码,但是因为是一个运算符,所以运算完必须要有一个结果。

 

选择语句

            switch语句

特点:1,表达式的值只能是四种:byte、short、int、char

         2,switch中,case、default无定义位置之分,不管default在哪里,都是先执行第一个case,若没有符合条件的case才去执行default

        3,switch结束的两种方式

                            (a)遇到break

 

                             (b)执行到switch语句结束

          4,如果匹配的case或者default没有break,那么程序将继续向下执行,运行可执行语句,知道遇到(a)(b)两种情况。

 

0 0
原创粉丝点击