zoukankan      html  css  js  c++  java
  • 《Java从入门到精通》第三章学习笔记

    第3章 Java语言基础

    一、标识符和关键字

    1、Java中的标识符用于标识类名、变量名、方法名、数组名、文件名。

    2、标识符的命名规则:由字母、数字、下划线和美元符号组成,但第一个字符不能是数字。同时标识符不能选用Java的关键字和保留字。

    3、一般的约定命名规则: (1)类和接口名:每个词首字母大写,如MyClass,HelloWorld; (2)方法名:第一个词的首字母小写,其余词首字母大写,尽量少用下划线,如myMethod,myGetData; (3)常量名:基本数据类型的常量名全部用大写字母,各词之间用下划线分隔,如SIZE_NAME; (4)变量名:首词首字母小写,其余词首字母大写,不用下划线,尽量少用美元符号。

    二、基本数据类型

    1、整数类型:有byteshortintlong四种,存储空间分别为1、2、4、8个字节,其中给long类型变量赋值时必须在结尾加L或l,如:long BigNumber=1234567L。

    2、浮点类型:有float单精度和double双精度两种,分别占4、8个字节。其中float类型变量赋值时结尾必须加F或f。

    3、字符类型:使用char进行声明,占用两个字节。

    4、布尔类型:使用boolean进行声明,只能由true和false两个值。

    三、变量和常量

    1、变量的有效范围(作用域) (1)在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量分为静态变量和实例变量,静态变量通过修饰符static确定,并且可以通过“类名.静态变量名称”的方式在其他类中使用。

     1 class var{
     2    int x=3;         //这里定义了var类的一个实例变量x
     3    static int y=30; //这里定义了var类的一个静态变量y
     4 }
     5 class bar{
     6    int a=var.y; 
     7 /*
     8 定义bar类的实例变量a,
     9 并把var类中静态变量y的值赋值给a
    10 */
    11 }

    (2)在类的方法体中定义的变量为局部变量,只在当前代码块中有效,其生命周期只在该方法被调用时,虚拟机为其分配内存空间,方法调用结束后,则该内存也被释放。
    (3)在类中某一方法体内,可直接使用类体创建的静态变量,当该静态变量与该方法体中创建的局部变量重名时,静态变量将被隐藏,如果须调用该类体静态变量时,需使用“类名.静态变量名称”的方式。
    注:经测试,类体中的实例变量无法在方法中使用。

     1 public class Number {
     2     static int mydata=414;
     3     static int yourdata=1973;   
     4         public static void main(String[] args) {
     5         int mydata=1314;
     6         System.out.println("类体静态变量mydata的值是"+Number.mydata);
     7         System.out.println("类体静态变量yourdata的值是"+yourdata);
     8         System.out.println("方法内部的局部变量mydata的值是"+mydata);
     9     }
    10 }
    11 /*
    12 输出----------
    13 类体静态变量mydata的值是414
    14 类体静态变量yourdata的值是1973
    15 方法内部的局部变量mydata的值是1314
    16 ----------------
    17 */

    四、运算符
    异或的应用范例:不使用辅助变量实现两变量的值互换

     1 import java.util.Scanner;
     2 public class Nexchange {
     3     public static void main(String[] args){
     4         Scanner scan=new Scanner(System.in);
     5         System.out.println("请输入变量A的值");
     6         long A=scan.nextLong();
     7         System.out.println("请输入变量B的值");
     8         long B=scan.nextLong();
     9         System.out.println("A="+A+"	B="+B);
    10         System.out.println("执行变量互换...");
    11         A=A^B;
    12         B=B^A;
    13         A=A^B;
    14         System.out.println("A="+A+"	B="+B);        
    15     }
    16 }
    17 /*
    18 这里运用了位操作异或,对于整数X有:X^X=0;X^0=X;同时异或操作满足结合律和交换律
    19 将A=A^B带入后面两式,分别如下:
    20 B=B^A=B^A^B=A^(B^B)=A^0=A;
    21 A=A^B=(A^B)^A=...=B;
    22 ----------
    23 引申:除异或方法外,不通过辅助变量的方法还有:
    24 (1)a=a+b;b=a-b;a=a-b;
    25 (2)a=a*b;b=a/b;a=a/b;
    26 */

    五、实例
    1、判断某一年是否为闰年

     1 import java.util.Scanner;
     2 public class LeapYear{
     3     public static void main(String[] args){
     4         Scanner scan=new Scanner(System.in);
     5         System.out.println("请输入年份(0~99999):");
     6         long year=scan.nextLong();
     7         while (year<0||year>99999){
     8             System.out.println("请重新输入年份(0~99999):");
     9             year=scan.nextLong();
    10         }
    11         scan.close();
    12         if((year/400==0)||((year/4==0)&&(year/100!=0))){
    13             System.out.println("输入年份为"+year+"是闰年");
    14         }
    15         else {
    16             System.out.println("输入年份为"+year+"不是闰年");
    17         }
    18     }
    19 }

    2、不使用乘号运算符,用移位运算符计算21*16。

     1 public class MoveBit {
     2     public static void main(String[] args){
     3         long a=21L;
     4         int x=1;
     5         for(int i=1;i<5;i++){
     6             x*=2;
     7             a=a<<1;
     8             System.out.println("21左移动"+i+"位就是乘以"+x+"结果为"+a);
     9         }
    10     }
    11 }
  • 相关阅读:
    http 各个状态返回值
    【转载】关于HttpClient 接口方法总结
    httpclient httpcore jar包及源码
    commons.httpclient-3.X.jar 和 httpclient-4.x.jar是个什么关系?
    【转载】深入浅出REST
    httpclient 用户名密码认证实例
    java发送http请求,内容为xml格式&&传统URI类请求
    RESTful Java client with Apache HttpClient / URL /Jersey client
    MySQL命令行--导入导出数据库
    为什么有时候 php 没有写闭合标签结束符?
  • 原文地址:https://www.cnblogs.com/tsembrace/p/4574561.html
Copyright © 2011-2022 走看看