**JAVA入门基础2**(系列更新)———JAVA 基础变量


Tue 26 06:00 12:00 06:00 Wed 27 06:00 12:00 06:00 Thu 28 已完成 day2 基础量 进行中 day1blog撰写 计划中 day3 进军算法 现有任务 GANTT diagram functionality to JAVA basical learning

Java基础

1.注释


出现在源程序中对代码进行解释说明,增强代码可读性。不会被编译到.class字节码文件中

单行注释

//System.out.println("helloWorld");

多行注释

/* 要注释的内容 */

/*System.out.println("helloWorld");
System.out.println(1);*/

IDEA ctrl + /

文档DOC注释

比较专业的注释,javadoc工具自动解析提取出这种方式注释的内容生成帮助文档。

/**hello
 * world!
 */

2.标识符和关键字


2.1 标识符

Java语言中对于变量、常量、方法和类等要素命名时使用的字符序列统称为标识符.

标识符命名规则

  • 标识符由字母、下划线、美元符号或数字组成且不能由数字开头
  • 标识符大小写敏感(如name和Name是两个不同的标识符)
  • 不能使用关键字作为变量名或方法名

注意:标识符选取尽量“见名知意”。

例:姓名尽量选择类似name而不是a、b

驼峰命名法则

当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:firstName、lastName,这样的变量名看上去就像骆驼峰一样此起彼伏.

2.2 关键字(keyword)

Java中事先定义的、赋予特定含义的字符串,有时又叫保留字。所有Java关键字都是小写英文。

java关键字

其中goto和const从未使用,但也被Java作为关键字保留。

3.数据类型


Java 语言的数据类型分为两种:基本数据类型和引用数据类型。

3.1 基本数据类型

整数型:byte、short、int、long

字节型(byte)

byte 类型是最小的整数类型。当用户从网络或文件中处理数据流时,或者处理可能与 Java 的其他内置类型不直接兼容的未加工的二进制数据时,该类型非常有用。

短整型(short)

short 类型限制数据的存储为先高字节,后低字节,这样在某些机器中会出错,因此该类型很少被使用。

整型(int)

int 类型是最常使用的一种整数类型,32位内存,能表示的范围 -2** 31 ~ 2**31-1。

长整型(long)

对于大型程序常会遇到很大的整数,当超出 int 类型所表示的范围时就要使用 long 类型

浮点类型:float、double

单精度浮点型(float)

占用 4 字节的内存空间aaaa

双精度浮点型(double)

占用 8 字节的内存空间,比单精度类型 float 具有更高的精度和更大的表示范围。

Java 默认的浮点型为 double,例如,11.11 和 1.2345 都是 double 型数值。如果要说明一个 float 类型数值,就需要在其后追加字母 f 或 F,如 11.11f 和 1.2345F 都是 float 类型的常数。

布尔类型:boolean

用于对两个数值通过逻辑运算,判断结果是“真”还是“假”。Java 中用保留字 true 和 false 来代表逻辑运算中的“真”和“假”。因此,一个 boolean 类型的变量或表达式只能是取 true 和 false 这两个值中的一个。

在 Java 语言中,布尔类型的值不能转换成任何数据类型,true 常量不等于 1,而 false 常量也不等于 0。这两个值只能赋给声明为 boolean 类型的变量,或者用于布尔运算表达式中。

字符类型:char

使用两个字节的 Unicode 编码表示,它支持世界上所有语言,可以使用单引号字符或者整数对 char 型赋值。

3.2 引用数据类型
  • 引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时候被指定为一个特定的类型,声明之后不能改变。
  • 引用数据类型包括:类(对象)、接口、数组。
  • 所有引用类型默认值都是null.
  • 一个引用变量可以用于引用任何与之兼容的类型。

引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。
数据类型 变量名 = new 数据类型();
每种引用数据类型都有其功能,我们可以调用该类型实例的功能。
变量名.方法名();

3.3数据类型转换

3.3.1简单数据类型转换

1)自动类型转换

低级变量可以直接转换为高级变量。

简单数据类型由低级到高级分别为(byte,short,char)—int—long—float—double

    byte b;
    int i=b;
    long l=b;
    float f= b;
    double d = b;

如果低级类型为char时,向高级转换的时候会转换为对应的ASCII码值。

char c='c';
int i=c;
System.out.println(i);

输出:99

对于byte、short、char三种类型,他们的级别是相同的,不能相互之间自动转换,可以使用下述强制类型转换:

short s = 99;
byte b = (byte)s;

2)强制类型转换

将高级变量转换成低级变量,需要强制类型转换。如:

int i = 99;
byte b = (byte)i;
char c = (char)i;

这种转换可能存在隐患,导致溢出或者精度下降。

3)包装类过渡类型转换

Java的包装类型对应于其基本类型一共有八类,分别为:Boolean、Byte、Short、Character、Integer、Long、Float、Double。
在进行简单数据转换的时候,可以利用包装类型进行中间过渡。例:

        short s = 99;
//        byte b = s;
        Short s1 = s;
        byte b = s1.byteValue();

java的包装类型中,数值类型提供了除Character和Boolean之外的其他所有六种基本类型的转换,因此通过包装类型进行转换亦是一种有效手段。

3.3.2字符串类型与其它数据类型的转换

1、将基本数据类型与空字符串(" ")连接(+)即可获得其所对应的字符串

2、调用String 类中的valueOf()方法返回相应字符串

3、使用包装类的toString()方法。几乎从java.lang.Object派生出来的所有类型都提供了toString()方法,对于上述八种过渡类型也不例外。

Integer b = 21;
System.out.println(b.toString());

1、调用基本数据类型对应的包装类中的方法parseXXX(String)

2、对应包装类型的valueOf(String)

Integer i = Integer.parseInt("123");
Integer j = Integer.valueOf("234");
3.3.3将字符型直接作为数值转换为其他数据类型

将字符类型直接转换为其他类型实际上有两种对应关系:一种是将其转换成对应的ASCII码值、一种是转换关系,例如‘1’就是数值1,而不是ASCII码值,对于这种转换,可以使用Character的getNumericValue(char c)方法。

char a = '9';
System.out.println(Character.getNumericValue(a));

输出:9

4.Scanner类


属于引用类型,使用该类来完成用户键盘录入,获取到录入的数据。

使用步骤

导包:import java.util.Scanner;
创建对象实例:Scanner sc = new Scanner(System.in);
调用方法:
int i = sc.nextInt(); 用来接收控制台录入的数字
next()和nextLine()用来接收控制台录入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据.

next():

  1. 一定要读取到有效字符后才可以结束输入
  2. 对输入有效字符之间遇到的空格,next()方法自动将其去掉
  3. 只有输入有效字符后,才将其后面输入的空白作为分隔符或结束符
  4. next()不能得到带有空格的字符

nextLine():

  1. 以Enter(回车键)为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
  2. 可以获得空格

5.简单的helloworld程序

public class HelloWorld {//public表示访问控制中的公开,class是定义一个类,HelloWorld表示一个类名
    /**
    *public 公开的 
    *static 静态 
    *main是方法名
    *String[] args是main方法的形式参数列表
    *是一个程序的执行入口
    */
    public static void main(String[] args) {
        System.out.println("Hello world!");//标准输出,打印到控制台。
    }
}

1.编写程序,使用三条输出语句分别显示"Welcome to java" 、“Welcome to computer science,”、“programming is fun”,使输出为如下形式

public class Helloworld {

public static void main(String[] args) {

System.out.println("Hello World");//println会自动换行

System.out.println("Welcome to java");

System.out.println("Welcome to computer science");

System.out.println("programming is fun");

//使用快捷键CRTL+D加快速度

}

}

> Welcome to java
> Welcome to computer science,programming is fun

2.找到最大和最小的byte short int long float double。 这些数据类型种哪个需要的内存最小?

这里的话可以使用java中的
.size(位数)
.BYTES(字节数)

顺带一提MIN_VALUE(定义最小值)
.MAX_VALUE(定义最大值)

Java API 中查阅得,Byte是类,byte是基本数据类型,准确来说Byte是byte的封装类
所以在使用时sout应该是Byte.BYTES
应是类的方法名,不应是数据类型直接加.BYTES (byte.BYTES)

几大属性名输出实现 :代码如下
public class 类型字节测试程序 {

    public static void main(String[] args) {
        System.out.println(Byte.BYTES);
        System.out.println(Short.BYTES);
        System.out.println(Integer.BYTES);
        System.out.println(Long.BYTES);
        System.out.println(Float.BYTES);
        System.out.println(Double.BYTES);

    }
得出输出结果:
1
2
4
8
4
8

由此可见占用字节数最大的是double & long
由此可见/占用字节数最小的是byte


public class 类型字节测试程序 {


    public static void main(String[] args) {
    System.out.println (new StringBuilder ().append ("Byte-->>").append ("字节数:").append (Byte.BYTES).append (";位数:").
            append (Byte.SIZE).append ("; 最小值-->最大值:").append (Byte.MIN_VALUE).append ("-->").append (Byte.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Short-->>").append ("字节数:").append (Short.BYTES).append (";位数:").
            append (Short.SIZE).append ("; 最小值-->最大值:").append (Short.MIN_VALUE).append ("-->").append (Short.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Integer-->>").append ("字节数:").append (Integer.BYTES).append (";位数:").
            append (Integer.SIZE).append ("; 最小值-->最大值:").append (Integer.MIN_VALUE).append ("-->").append (Integer.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Long-->>").append ("字节数:").append (Long.BYTES).append (";位数:").
            append (Long.SIZE).append ("; 最小值-->最大值:").append (Long.MIN_VALUE).append ("-->").append (Long.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Float-->>").append ("字节数:").append (Float.BYTES).append (";位数:").
            append (Float.SIZE).append ("; 最小值-->最大值:").append (Float.MIN_VALUE).append ("-->").append (Float.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Double-->>").append ("字节数:").append (Double.BYTES).append (";位数:").
            append (Double.SIZE).append ("; 最小值-->最大值:").append (Double.MIN_VALUE).append ("-->").append (Double.MAX_VALUE));
    System.out.println (new StringBuilder ().append ("Character-->>").append ("字节数:").append (Character.BYTES).append (";位数:").
            append (Character.SIZE).append ("; 最小值-->最大值:").append ((int)Character.MIN_VALUE).append ("-->").append ((int)Character.MAX_VALUE));
}
}


####Byte-->>字节数:1;位数:8; 最小值-->最大值:-128-->127
####Short-->>字节数:2;位数:16; 最小值-->最大值:-32768-->32767
####Integer-->>字节数:4;位数:32; 最小值-->最大值:-2147483648-->2147483647
####Long-->>字节数:8;位数:64; 最小值-->最大值:-9223372036854775808-->9223372036854775807
####Float-->>字节数:4;位数:32; 最小值-->最大值:1.4E-45-->3.4028235E38
####Double-->>字节数:8;位数:64; 最小值-->最大值:4.9E-324-->1.7976931348623157E308
####Character-->>字节数:2;位数:16; 最小值-->最大值:0-->65535

3.编写程序,输入一个姓名,输出hello ,XXX

import java.util.Scanner;
  public class 输入输出 {
  public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  String i =sc.next();
  System.out.println("hello ,"+i);

    }
}

例:

name:Zhang San
hello,Zhang San

4.找出无效标识符并解释原因。

  1. RESULT-----------------------有效
  2. result-------------------------无效,不能由数字开头
  3. x12345y---------------------有效
  4. black&white-------------------无效,标识符由字母、下划线、美元符号或数字组成
  5. answer_-------------------有效
  6. while----------------------无效,关键字
  7. $4---------------------------有效

标识符命名规则

  • 标识符由字母、下划线、美元符号或数字组成且不能由数字开头
  • 标识符大小写敏感(如name和Name是两个不同的标识符)
  • 不能使用关键字作为变量名或方法名

5.学习使用数据类型。声明一些有关个人信息的变量,包括姓、名、年龄、住址等信息。

public class 数据类型 {
public static void main(String[] args) {
int age; 
String name;
String address;
short nianling;
    }
}

6.写出以下每步操作对应的语句

  1. 声明一个字节型变量100
  2. 转换成字符串类型
  3. 将字符串类型转换为整型
  4. 得到的整型转换为双精度浮点型

下面展示一些 内联代码片

public class 类型转换 {
public static void main(String[] args) {
byte i =100;
String a=String.valueOf(i);
Integer b = Integer.parseInt(a);
Double c = Double.valueOf(b);
System.out.println(c+""

);
}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值