java数据类型/基本数据类型转换/Eclipse快捷键/语法基础


经过了解学习之后,今天开始正式迈入java的大门,首先就是得知道java的规则,为了方便学习,还下载了Eclipse。以下是查阅的资料和总结。

Hello Java

public class Hello{
public statir void main(String[]args){
System.out.println("Hello Java!");
}
}

javac 文件名.java 用来编译java文件

javac Hello.java
java Hello

得到结果 Hello Java

javadoc用法

Javadoc是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档

javadoc -d  目标文件夹 abc  Hello.java 文件名

@author指定程序的作者
@version指定源文件的版本
@param方法的参数说明信息
@return方法的返回值说明信息
@see用于指定参考的内容
@exception抛出异常的类型
@throws抛出的异常,和@exception同义

 /**
 文档注释,使用javadoc命令可以生成html格式的说明文件
 *@author 二驴
 *@version 1.0.0
 */
 public class Hello{//定义一个java类程序
    /**
    * 主方法
    * @param args数组用于接受命令行参数
    * @return 没有返回值
    */
 /*
 多行注释
 可以添加多行的说明信息
 */
 public static void main(String[] args){System.out.println("Hello Java!");}
 }

Java中注释

注释一般建议控制在20%-30%代码量上。但是具体实践中一般不会写这么多的注释,但是不写注释是不合理的

// 单行注释
/*
多行注释
*/

/**
多行注释
**/

文档注释,可以通过使用javadoc工具生成对应的说明文档

Eclipse

使用IDE工具(集成开发环境),在工具中可以直接编写代码,编译源程序并执行

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。官方下载网站eclipse.org

  • Eclipse IDE for Java Developers:适用于Java开发
  • Eclipse IDE for C/C++ Developers:适用于C/C++开发
  • Eclipse for Mobile Developers:适用于Java手机开发
  • Eclipse for RCP/Plug-in Developers:用于RCP和插件开发

可以直接下载zip后缀的文件,这实际就是一个绿色版的Eclipse,解压缩后可以直接使用

Eclipse常用快捷键

Alt+/ 内容提示
Ctrl+Alt+↓ 快速的复制当前行
Ctrl+Shift+F 格式化
Ctrl+/ 单行注释,再次使用取消注释
Ctrl+shift+/ 多行注释,取消注释Ctrl+shift+
Ctrl+shift+O 导包语句,该快捷键一次性可以导入多个包
Ctrl+1 快速修复错误,但是该快捷键只能修复小错误

语法基础

Java语言的源程序代码由一个或多个编译单元组成,每个编译单元可包含三个要素:

1、一个包声明(可选)。 package com.yan; 命名空间

2、任意数量引入语句。 import java.util.*;

3、类的声明和接口声明 public class A{}

该三要素必须以上述顺序出现。也就是说任何引入语句出现在所有类定义之前;如果使用包声明,则包声明必须出现在类和引入语句之前。每个Java的编译单元可包含多个类或接口,但是每个编译单元最多只能有一个类或者接口是公共的

一个文件中可以定义多个class,但是最多只能由一个public class,因为文件名称必须和public class类名称一致(大小写在内);当然在一个文件中的class名称不能重复【实际上在一个包中的类名称不能重复】,如果文件中没有public class,则文件名称没有约束

Java是一种自由格式的语言,可以用任意个空格、制表符、换行符隔开每个词

 System.
 out.
 println
 ( "Counted " + count + " chars." );

同时也允许将多行代码写在一行上,注意使用分号隔开。所有的语句末尾以分号;收尾常见的编程错误:

目前的要求:将所有的程序都必须写在方法内部,不能写在方法外

使用临时变量,Java要求必须是先定义后使用,必须是先赋初值后使用

Java标识符

在Java编程语言中,标识符是赋予变量、类或方法的名称。变量、函数、类和对象的名称都是标识符,程序员需要标识和使用的东西都需要标识符。

标识符可从一个字母(Unicode编码字符集)、下划线_或美元符号$开始,随后也可跟数字、字母、下划线或美元符号。

标识符是区分大小写,没有长度限制,可以为标识符取任意长度的名字

public class A {
public static void main(String[] args) {
int kk = 100;
System.out.println(Kk);//报错的原因是Java中严格区分大小写,所以kk和Kk是两
个不同的东西
}
}

标识符不允许使用保留字。关键字对Java编译器有特殊的含义,它们可标识数据类型名或程序构造construct名, java语言中的保留字均用小写字母表示

编码规范

  • 类名首字母大写,大写字母分词 建议名词
  • 方法名称首字母小写,大写字母分词
  • 变量名称首字母小写,大写字母分词
  • 包名称全小写,使用域名反转的方式定义

变量

变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其中数据类型指明变量或表达式的状态和行为,数据类型决定了数的取值范围和运算符号

变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分

  • Java属于强类型编程语言,变量类型一旦声明,则不能进行修改
public class B {
      public static void main(String[] args) {
          // int是数据类型,其中定义了存储空间大小4B,k是名称,用于指代具体的存储位置【地址】
          int k = 100;
          k = 12.34;// 报错因为类型不匹配,12.34是double类型,不是int
          int k = 123;// 报错是因为系统人为是针对k重新定义类型,类型一旦声明则不允许修改
}
}
  • 数据类型可以决定变量所需要的存储空间大小和对应的处理逻辑
 int k = 100;
 System.out.println(k+1);  //int中定义了运算符+和/的实现
 System.out.println(k/33);

 String ss="123";
 System.out.println(ss+1);
 System.out.println(ss-1);//报错的原因是String中定义了+计算,但是没有-计算
  • 作用域是指变量生效的范围,从定义的位置开始,到所在的{}结束为止
    • 自动垃圾回收,一般来说java在一定程度上避免了内存泄漏问题
public class B {
public static void main(String[] args) {
{
System.out.println(k);//报错的原因是系统要求变量必须是先定义后使用,先赋初值后使用
int k=100;//临时变量,局部变量,有效范围是所在的{}范围内,从定义的位置开始到所在的{}结束为止,自动垃圾回收
System.out.println(k);
}
 System.out.println(k);//报错原因是k已经超出了有效范围,这里不存在变量k
}

JAVA是强类型语言

每个变量有类型,每个表达式有类型,而且每种类型都是严格定义的。Java编译器对所有的表达式和参数都要进行类型相容性的检查,以保证类型是兼容的。任何类型的不匹配都将被报告为错误而不是警告。在编译器完成编译以前,错误必须被改正过来

在Java语言数据类型可以分为两大类:基本类型(原生类型primitive type)和引用类型(复合类型referance type)

4类 整数: byte 1B short 2B int 4B long 8B 默认为int 特殊后缀L/l

浮点数: float 4B double 8B 默认double 特殊后缀 f/F D/d

字符: 单引号 2B unicode[java默认0-65535]

布尔: true、false

引用类型: 复杂类型

class/interface 数组 null

注意:null属于引用类型,所以int k=null;语法错误

整数类型

byte, short, int, long 补码存储

byte字节整数 1B -128到127

short短整型 2B -32768到32767

int 整型 4B -2147483648到2147483647

long 长整型 8B -9223372036854775808到9223372036854775807

Long.MAX_VALUE //获取对应类型的最值
Long.MIN_VALUE

所有Java编程语言中的整数类型都是带符号的数字,不存在无符号整数。整数类型的文字可使用十进制、八进制和十六进制表示

十进制整数。如123,-456,0

八进制整数。以0开头,如0123表示十进制数83,-011表示十进制数-9。

 int kk=01234;
 System.out.println(kk); //按照10进制进行输出

 int kk = 123;// 10进制数据
 System.out.println(Integer.toOctalString(kk)); // 将10进制数据转换为8进制

十六进制整数。以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18

 int kk=0x1239;
 System.out.println(kk); //按照10进制进行输出

 int kk = 123;// 10进制数据
 System.out.println(Integer.toHexString(kk)); // 将10进制数据转换为16进制

二进制整数,以0b或0B开头,例如0b10110010

 int kk=0b1011;
 System.out.println(kk); //按照10进制进行输出

 int kk = 123;// 10进制数据
 System.out.println(Integer.toBinaryString(kk)); // 将10进制数据转换为2进制

整数类缺省为int类型,如在其后有一个字母“L”表示一个long值。例如long k=123456789012345678L;

实际上末尾的L或者l都可以,但是一般不建议使用l

浮点数类型

两种浮点类型float和double

  • 浮点数无法准确存放,所以浮点数不能进行等值判断
 double d=0.;
     for(int i=0;i<10;i++)
          d+=0.1;
System.out.println(d);//输出数据为0.9999999999999999

float 4B 单精度浮点数 7-8有效数据 1.4E-45到3.4028235E38

double 8B 双精度浮点数 15-16有效数据 4.9E-324到1.7976931348623157E308

如果一个数包括小数点或指数部分,或者在数字后带有字母F或f(float)、D或d(double),则该数为浮点数

  • 十进制数形式。由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0
  • 科学计数法形式。如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数

字符类型char

使用char类型可表示单个字符,字符是用单引号括起来的一个字符, ‘a’ 等
Java中的字符型数据是16位(2B)无符号型数据,它表示Unicode集,而不仅仅是ASCII集。其范围为0~65535

char c1='a';//针对char类型使用单引号,双引号是字符串类型
//单引号中只能包含一个unicode编码的字符。如果'a1'语法错误
char c2='中';

 //字符类型可以等价于一个整数进行使用
 System.out.println(c2+1);//输出20014

Unicode所定义的国际化字符集能表示迄今为止人类语言的所有字符集,它要求使用16位的宽度表示。
没有负数的char

Unicode字符的使用对于英语、德语、西班牙语或法语的语言是有些低效,因为这些语言能够被包含在8位内。但是为了程序的的可移植性和通用性,付出代价是很有必要的

计算机处理字符类型时,是把这些字符当成不同的整数来看待。因此。严格说,字符类型也算是整数类型的一种

数字(48-57)<大写字母(65)<小写字母(97)

Java也提供转义字符,以反斜杠()开头,将其后的字符转变为另外的含义

char c1='\u4e00';
System.out.println(c1);
System.out.println((char)(c1+1));

注意:用双引号引用的文字,就是平时所说的字符串类型不是原始类型,而是一个类(class)String,它被用来表示字符序列。注意String理论上说最大上限应该为4G长,但是实际上最多存储65534个字符

字符本身符合Unicode标准,且上述char类型的转义字符适用于String

\n \r \t

可以把char当作整数数据来操作

逻辑类型boolean

boolean数据类型有两种文字值:true和false,只有1位

在Java编程语言中boolean类型只允许使用boolean值,在整数类型和boolean类型之间无转换计算

boolean bb=true;//false,没有其他可能
System.out.println(bb+1);//语法报错的原因是:java中的boolean类型和其它类型之间没有
关系
System.out.println(bb);

基本数据类型转换

数据类型按精度取值范围从低到高排列顺序为:
byte, short, char, int, long, float, double

当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型转换

当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。

int kk=100;
short bb=kk;//语法报错,因为int>short,所以需要进行强制转换
short kk=32767;//整数类型特殊,不需要进行强转

float f1=3.233;//语法报错,因为系统默认3.233为double类型
//解决方案1为3.233f;方案2:强转(float)3.233

显示转换格式为:(类型名)要转换的值; 在大转小的转换过程中可能损失精度

1 int k1=Integer.MAX_VALUE-1;
2 int k2=10000;
3
4
//k1和k2之和已经超出了int可以存储的范围,所以数据溢出,计算结果错误
System.out.println(k1+k2);//-2147473650
5
6
7 int k1=123456789;
8 short k2=(short)k1;
9 System.out.println(k2);//-13035

浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入

public class A1 {
public static void main(String[] args) {
double d1=12345.678;
int kk=(int)d1;
System.out.println(kk); //计算结果为:12345 
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值