JAVA基础入门

JAVA入门

JAVA的特点

Java具有面向对象、与平台无关、安全、稳定和多线程,这是因为JAVA的运行环境由JAVA虚拟机、类库以及一些核心文件组成。JAVA虚拟机的核心是所谓的字节码指令(不是机器指令),它将字节码翻译成本地计算机的机器码,并将机器码交给本地的操作系统运行
平台由操作系统(OS)和处理器(CPU)构成
JAVA中没有指针的概念
JAVA的特点之一就是内置对多线程的支持
ftp://10.199.227.254
JAVA程序的基本组成单元就是,它可以在分布环境中动态的维护程序及类库

JAVA的安装

1、安装JDK
JAVA SE 也就是JDK8.0
建议安装时都选默认路径
值得注意的是安装JDK过程中还有一个JAVA运行环境的安装,JRE,建议也是默认
2、系统环境的设置
设置系统变量JAVA_HOME
系统环境Path的设置
由于以及设置了系统环境变量,所以这一步直接弄一个
%JAVA_HOME%\bin(%系统变量%是该系统变量的全部取值)
3系统环境classpath的设置
不必要

JAVA程序的开发步骤

1编写源文件
2编译源文件
3运行程序

简单的Java应用程序

  1. 编写源文件 如果源文件中有许多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个名字完全相同,扩展名.java;如果没有public类,那么只要与某个类相同就可以了
    特别注意,文件名区分大小写
    保存时,类型为所有文件,编码为ANSI
    如果保存文件时,系统自动加了txt(这是不允许的),那么可以用双引号括起来
  2. 保存文件后可以用JAVA编译器运行
    命令行
  3. 每个JAVA 必须又一个含有public static void main(String args[])方法,称这个类是应用程序的主类

JAVA反编译

不涉及

小结:1、JAVA源文件由若书写形式互相独立的类组成。一个源文件必须由public
2.JAVA源文件扩展名为.java;字节码扩展名为.class
3JDK提供的编译器是javac.exe
反编译器为javap.exe;
解释器为java.exe

public class Person {
    void speakHello() {
        System.out.print("您好,很高兴认识您");
        System.out.println("nice to meet you");
    }
}

class Xiti {
    public static void main(String args[]) {
        Person zhang = new Person();
        zhang.speakHello();
    }
}

这个的文件名字是Person.java
只有一个字节码文件为Person.class

基本数据类型与数组

标识符与关键字

定义:用来标识类名、变量名、方法名、类型名、数组名及文件名的有效字符序列称为标识符

  • 标识符由字母、下划线、美元符号和数字组成,长度不受限制
  • 第一个字符不可以是数字字符
  • 不能是关键字
  • 不能是true false null
  • 区分大小写

JAVA语言使用Unicode标准字符集 最多识别65 356个字符

关键字就是具有特定用途或者被赋予了特定意义的一些单词,不可以把关键词作为标识符来使用
PS 关键词全部小写

基本数据类型

逻辑类型 boolean
常量 true false

整数类型
int 4个字节32位内存
byte 1个字节8位内存 范围比较小 -128~127
short 2个字节16位内存
long 8个字节64位内存常用后缀L表示
PS JAVA中不存在无符号类型 没有 unsigned int m;

字符类型
char类型 2个字节16位
用单引号括起来
有些字符不能通过键盘输入到字符串或者程序中,这个时候就需要使用转义字符常量,例如:\n,\b,\t,’,",\
直接例子:”我喜欢双引号\"“才是正确的
想要知道一个字符在Unicode中的顺序,可以用(int)‘A’,如果要知道在一个数字,则用(char)65

浮点类型
float单精度 常量后必须有f 8位有效数字 4个字节的内存,占32位
double 双精度 常量后面可以有d或D,也可以省略 8个字节,64位内存 16位有效数字

float x=0.4f;
double y=0.4;

那么实际在x中的数据为0.40000000059604645;y中为0.40000000000000,因此y中小于x

类型转换运算

当把级别低的变量的值赋给高级别变量时,自动转换
反过来,必须使用类型转换运算
int x=(int)34.89;
最后x=34;

输入、输出数据

输入基本型数据

Scanner reader = new Scanner(System.in);

然后使用nextBoolean(),nextByte(),nextShort(),nextLong(),nextInt()
值得注意的是首字符大写

import java.util.Scanner;
public class Example2_3 {
    public static void main (String args[ ]){
        System.out.println("请输入若干个数,每输入一个数回车确认");
        System.out.println("最后输入数字0结束输入操作");
        Scanner reader=new Scanner(System.in);
        double sum=0;
        double x = reader.nextDouble();
        while(x!=0){
           sum=sum+x;
           x=reader.nextDouble();
        }
        System.out.println("sum="+sum);
    }
}

输出基本型数据
System.out.println()System.out.print()可输出串值,表达式的值,两者的区别是前者输出后换行
可以使用并置符号+将变量,表达式或一个常数值与一个字符串并置一起输出
System,out.println(m+"个数的和为"+sum)
System.out.println()System.out.print()时不可以出现回车
但是
System.out.println(“您好,”+
“很高兴认识你”);
是正确的
另外,还有一种

System.out.printf("格式控制符",表达式1,表达式2)
%d int
%c char
%f float double
%s 字符串
%md 输出的int占据m列
%m.nf:输出的float占m列,保留n位小数  

数组

声明数组

int a[][] 或者 int [][] a
注意 int [ ] a,b[ ]是声明了一个int型一维数组a和一个二维数组b
JAVA不允许在声明数组中的方括号指定数组元素的个数
如果声明了 int a[22]是错误的

为数组分配元素
数组名= new 数组元素的类型【数组元素的个数】;
例如

float boy[];
boy=new float[4];
//可以和在一起
float boy[]=new float[4];

对于二维数组,构成它的一维数组不必有相同的长度

int a[][]=new int [3][];
a[0]=new int[6];
a[1]=new int[8];

对于JAVA,它允许使用int型变量的值指定数组的元素个数
int size=30;
double number[]=new double[size];

length的使用
一维数组,数组名.length—数组元素个数
二维数组 数组名.length----一维数组的个数

数组的初始化
默认为0
float boy[]={,};一步完成
对于二维数组
int a[][]={{},{}}…
数组的引用
数组属于引用型变量,因此两个相同类型的数组如果又相同的引用,他们就完全相同

int a[]={1,2,3},b[]={4,5};
a=b
public class Example2_4 {
   public static void main(String args[]) {
      int a[]={1,2,3,4};
      int b[]={100,200,300};
      System.out.println("数组a的元素个数="+a.length);
      System.out.println("数组b的元素个数="+b.length);
      System.out.println("数组a的引用="+a);
      System.out.println("数组b的引用="+b);
      a=b;
      System.out.println("数组a的元素个数="+a.length);
      System.out.println("数组b的元素个数="+b.length);
      System.out.println("a[0]="+a[0]+",a[1]="+a[1]+",a[2]="+a[2]);
      System.out.print("b[0]="+b[0]+",b[1]="+b[1]+",b[2]="+b[2]);
   }
} 
//普通的println如果要字符串与其它混用,需要加+
char a[]={'中','国','科','大'};
System.out.println(a);
//结果是中国科大

小结:char型在Unicode表中的位置范围是0~65535;
println的输出必须用+进行连接
常见错误
ArrayIndexOutOfBoundsException-------数组越界

运算符、表达式与语句

算术混合运算的精度

精度由低到高的排序
byte short char int long float double
混合运算精度往高的地方取
JAVA允许把不超出byte short char的取值范围的算术表达式赋值给byte/short。

!的优先级特别高,为2
&&为11
||为12
等于号优先级为14

位运算符

| 1|1=1 1|0=1
& 0&1=0
异或
位非
~1=0;

instanceof运算符

左面操作元是一个对象,右面是一个类。当左面的对象是右面的类或子类的创建对象时,运算结果位true

for语句与数组

for(声明循环遍历变量:数组的名字){}
注意必须是声明,不可以用之前已经声明过的数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值