Java基础语法(上篇)

知识概要:

(1)关键字的表示与规范

        (2)标示符

             (3)注释  

             (4)变量

             (5)常量和变量

(6)运算符

(7)循环结构

(1)关键字的表示和规范

(2)标识符

在程序中自定义的一些名称。由26个英文字母大小写,数字:0-9 符号:_ $ 组成

     定义合法标识符规则: 

        1,数字不可以开头。  2,不可以使用关键字。

    Java中严格区分大小写。

    注意:在起名字的时,为了提高阅读性,要尽量有意义。

 Java中的名称规范:

  包名:多单词组成时所有字母都小写。

      •  xxxyyyzzz

  类名接口名:多单词组成时,所有单词的首字母大写。

      •  XxxYyyZzz

  变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首   字母大写。

      •  xxxYyyZzz

  常量名:所有字母都大写。多单词时每个单词用下划线连接。

      •  XXX_YYY_ZZZ

(3) 注释

 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

 

对于文档注释,是java特有的注释,其中注释内容可 以被JDK提供的工具javadoc 所 解析,生成一套以网格式的

文件体现该程序的说明文档。

 注释是一个程序员必须要具有的良好编程习惯。

 初学者编写程序可以养成习惯:先写注释再写代码。

 将自己的思想通过注释先整理出来,在用代码去体现。

 因为代码仅仅是思想的一种体现形式而已。 

  

      /**

这是我的Hello World程序。

@author 小强

      */

   class Demo

   {

     /*

     这是主函数,是程序的入口

     它的出现可以保证程序的独立运行, 

    */

     public static void main(String[] args)

     {

            //这是输出语句用于将括号内的数据打印到控制台。

            System.out.println("Hello World");

     }

  }

(4)常量

常量表示不能改变的数值。

  Java中常量的分类:

1.整数常量。所有整数

     2.小数常量。所有小数

     3.布尔型常量。较为特有,只有两个数值。true false。

     4.字符常量。将一个数字字母或者符号用单引号( ' ' )标识。

     5.字符串常量。将一个或者多个字符用双引号标识。

     6.null常量。只有一个数值就是:null.

对于整数:java有三种表现形式。

      •  十进制:0-9 ,满10进1.

      •  八进制:0-7 ,满8进1. 用0开头表示。

      •  十六进制:0-9,A-F,满16进1. 用0x开头表示。

(常量与变量)

(5)常量与变量

 变量的概念:

•  内存中的一个存储区域

      •  该区域有自己的名称(变量名)和类型(数据类型)

      •  该区域的数据可以在同一类型范围内不断变化

 为什么要定义变量:

      •  用来不断的存放同一类型的常量,并可以重复使用

  使用变量注意:

      •  变量的作用范围(一对{}之间有效)

      •  初始化值

 定义变量的格式:

      •  数据类型 变量名 =  初始化值;

      •  注:格式是固定的,记住格式,以不变应万变。

 

理解:变量就如同数学中的未知数。

数据类型结构图

进制的基本转换

      • 十进制 二进制互转

      • 十进制转成二进制 除以2取余数

      • 二进制转成十进制 乘以2的幂数

      • 十进制八进制互转

      • 十进制十六进制互转 

      • 负数的二进制表现形式   • 对应的正数二进制取反加1

常量与变量

 自动类型转换(也叫隐式类型转换)

  强制类型转换(也叫显式类型转换)

 

类型转换的原理

  什么时候要用强制类型转换?

  表达式的数据类型自动提升

      • 所有的byte型、short型和char的值将被提升到int型。

      • 如果一个操作数是long型,计算结果就是long型;

      • 如果一个操作数是float型,计算结果就是float型;

      • 如果一个操作数是double型,计算结果就是double型。 



(6)运算符

算术运算符  赋值运算符  比较运算符  逻辑运算符  位运算符   三元运算符

重点介绍:

     逻辑运算符

 逻辑运算符用于连接布尔型表达式,在Java中不可以 

     写成3<x<6,应该写成x>3 & x<6 。 

     “&”和“&&”的区别:

     • 单&时,左边无论真假,右边都进行运算;

     • 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

     “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

      异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false

位运算符  位运算符的细节 

      << 

     空位补0,被移除的高位丢弃,空缺位补0。 被移位的二进制最高位是0,      >> 

     最高位是1,空缺位补1。 

     >>>    

    被移位二进制最高位无论是0或者是1,空缺位都用0补。

     & 

    二进制位进行&运算,只有1&1时结果是1,否则是0; 

     |      

    二进制位进行| 运算,只有0 | 0时结果是0,否则是1; 

    ^ 

   任何相同二进制位进行^ 运算,结果是0;1^1=0 , 0^0=0

   不相同二进制位^ 运算结果是1。1^0=1 , 0^1=1

练习:可以作为面试题目 

      1.最有效率的方式算出2乘以8等于几?2<<3;

      2.对两个整数变量的值进行互换(不需要第三方变量)

        采用:^异或的手法

        练习:对两个变量的数据进行互换。不需要第三方变量。

        int a  = 3,b = 5;-->b = 3,a = 5;

        a = a + b; a = 8;

        b = a - b; b = 3;

        a = a - b; a = 5;

        a = a ^ b;

        b = a ^ b;//b = a ^ b ^ b = a

        a = a ^ b;//a = a ^ b ^ a = b;

       练习:高效的算出 2*8 = 2<<3;

  

三元运算符

格式

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

      • 如果条件为true,运算后的结果是表达式1;

      • 如果条件为false,运算后的结果是表达式2;

  示例:

      • 获取两个数中大数。

      • int x=3,y=4,z;

      • z = (x>y)?x:y;//z变量存储的就是两个数的大数

程序流程控制

 判断结构      选择结构    循环结构

判断结构

if语句

    三种格式:略

判断结构

if语句特点:

a,每一种格式都是单条语句。

b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现。好处是:可以写在其他表达式中。

c,条件表达式无论写成什么样子,只看最终的结构是否是true 或者false;

  

  

  

选择结构

  

         switch语句

         格式:

        switch(表达式)

        {

            case 取值1:

            执行语句;

            break;

            case 取值2:

            执行语句;

            break;

          …...

            default:

            执行语句;

            break;

        }

工作原理:

用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;

细节:

1):break是可以省略的,如果省略了就一直执行到遇到break为止;

        2):switch 后面小括号中的变量应该是byte,char,short,int四种类型中的一种;

   3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case

中的value是否匹配,程序会从default开始执行   直到第一个break出现。

循环结构

for While do while

    do while特点是条件无论是否满足,  循环体至少被执行一次。

    格式:

    for(初始化表达式;循环条件表达式;循环后的操作表达式) 

   {

      执行语句;

   }

   注:

a,for里面的表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的

操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。 

    b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变

量在循环结束后还可以继续使用。 

    c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循 环多少次,而是根据某些条件,来

控制循环

Java基础语法(上篇)的更多相关文章

  1. JavaSE入门学习6:Java基础语法之运算符和语句(上)

    继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...

  2. [Java 教程 04] Java基础语法

    在上一篇文章中我们已经运行了个简单的java程序,但是没有给大家讲解代码部分的内容与含义.学习,我们要做到知其然而知其所以然,所以本篇文章我们就来讲解java程序的基本语法,学完这篇文章你再回头看上篇 ...

  3. 046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项

    046 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 08 for循环的注意事项 本文知识点:for循环的注意事项 for循环的注意事项 for循环有3个 ...

  4. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  5. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

  6. java——基础语法

    java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...

  7. java基础语法(二)--单列模式

    java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...

  8. java基础语法(一)

    java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...

  9. Java基础语法入门01

    Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...

随机推荐

  1. 到处是坑的微信公众号支付开发(java)

    之前公司项目开发中支付是用阿里的支付做的,那叫一个简单,随意:悲催的是,现在公司开发了微信公众号,所以我步入了全是坑的微信支付开发中... ------------------------------ ...

  2. python 从视频中提取图片,并保存在硬盘上

    使用python的moviepy库来提取视频中的图片,按照视频每帧一个图片的方式来保存. extract images from video, than save them to disk from ...

  3. Python Keras module 'keras.backend' has no attribute 'image_data_format'

    问题: 当使用Keras运行示例程序mnist_cnn时,出现如下错误: 'keras.backend' has no attribute 'image_data_format' 程序路径https: ...

  4. [[NSBundle mainBundle] pathForResource:fileName ofType:]获取文件路径不成功

    目标文件明明已经加入项目了,但是使用[[NSBundle mainBundle] pathForResource:fileName ofType:]来获取文件路径的时候却为nil: 遇到这个问题大家需 ...

  5. 转:【Java集合源码剖析】Hashtable源码剖析

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/36191279 Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元 ...

  6. 201521123097《Java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1.本次作业题集集合 public static List return str; } pub ...

  7. 201521123109《java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1 ...

  8. 201521123067 《Java程序设计》第5周学习总结

    201521123067 <Java程序设计>第5周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. ●在本 ...

  9. 201521123081《Java程序设计》 第2周学习总结

    201521123081<Java程序设计>第2周学习总结 2017-03-04  14:35:49 1. 本周学习总结 学习了Java一些基本语句,了解了变量类型及其相互转化的方法: 学 ...

  10. 201521123096《Java程序设计》第一周学习总结

    1. 本章学习总结: 对JAVA的发展有一定的了解.JAVA是一种高级语言,需要在JVM上执行.初步学会使用eclipse和NOtepad++. 2. 书面作业 Q1:为什么java程序可以跨平台运行 ...