JAVA基础(一)——基本概念、JAVA开发工具、JAVA基本语法

JAVA基础(一)——基本概念、JAVA开发工具、JAVA基本语法

一、计算机语言

  • 语言
    • 人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换
  • 计算机语言
    • 人与计算机之间进行信息交流沟通的一种特殊语言
    • 计算机语言中也有字符,符号等等
    • 常见的计算机语言如C,C++,C#,JAVA

二、人机交互

  • 软件的出现实现了人与计算机之间更好的交互。
  • 交互方式
    • 图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。
    • 命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。

三、常用DOS命令

  • 打开DOS控制台的方式
    • win+r—cmd–回车(这也是我最常用的一种)
    • 开始–运行—cmd—回车
    • 在桌面按住 Shift 键,然后右键选择在此处打开命令窗口
  • 常用的DOS命令
    • d: 回车 盘符切换(切换到d盘根目录)
    • dir(directory):列出当前目录下的文件以及文件夹
    • md (make directory) : 创建目录
    • rd (remove directory): 删除目录
    • cd (change directory)改变指定目录(进入指定目录)
    • cd.. : 退回到上一级目录
    • cd: 退回到根目录
    • del (delete): 删除文件(可以删除单个文件如:123.txt,也可以删除一堆后缀名一样的文件*.txt)
    • cls : (clear screen)清屏
    • exit : 退出dos命令行

四、JAVA语言

  1. JAVA是什么?

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

  2. JAVA语言的平台版本

    J2SE(Java 2 Platform Standard Edition)标准版
    J2ME(Java 2 Platform Micro Edition)小型版
    J2EE(Java 2 Platform Enterprise Edition)企业版

  3. JAVA语言特点

    简单性、面向对象、分布式处理、解释性、可靠、安全、可移植性、高性能、多线程、动态性等。
    也可以说Java是一种解释性、跨平台、通用的编程语言。

    • 跨平台性
      • 通过Java语言编写的应用程序在不同的系统平台上都可以运行。
    • 原理是什么?
      • 只要在需要运行java应用程序的操作系统上,
        先安装一个Java虚拟机(JVM Java Virtual Machine)即可。
        由JVM来负责Java程序在该系统中的运行。

五、JAVA开发工具

  • JDK的下载与安装

  • 通过官方网站获取JDK http://www.oracle.com ( 针对不同操作系统,下载不同的JDK版本)

  • 安装
    • 傻瓜式安装,下一步即可。
    • 建议:安装路径不要有中文或者特殊符号如空格等。最好目录统一。
  • JAVA环境变量的配置
    • 这个挺简单的,就不多说了。
  • 检验JDK是否安装成功,打开DOS命令窗口
    • 输入 java 检验jdk
    • 输入javac检验java环境
    • 输入java -version查看jdk版本
  • 以上是开发Java之前要做的准备,编写Java程序可以使用很多种工具
    • notepad(微软操作系统自带,在DOS窗口中你可以试试)
    • Notepad++
    • Eclipse

六、HelloWorld

让我们来一起完成我们第一个小程序Hello World,就用notepad吧!

  • 首先定义一个类
    • class 类名
  • 在类定义后加上一对大括号
    • {}
  • 在大括号中间添加一个主(main)方法/函数
    • public static void main(String [] args){ }
  • 在主方法的大括号中间添加一行输出语句
    • System.out.println(“hello world”);

代码如下:

   class HelloWorld
{
        public static void main(String [] args)
{
System.out.println(“Hello World”);
    }
}

运行结果:
Hello World

程序解析:

首先编写java源代码程序,扩展名.java
在命令行模式中,输入javac命令对源代码进行编译,生成字节码文件(javac 源文件名.java )
编译完成后,如果没有报错信息,输入java命令对class字节码文件进行解释运行,执行时不需要添加.class扩展名 (java HelloWorld)
得到结果:Hello World


七、JAVA基本语法

  • 关键字
  • 标识符
  • 注释
  • 常量、进制和进制转换
  • 变量
  • 数据类型和类型转换
  • 运算符
  • 语句

    我们来逐个学习


1.关键字
  • 关键字概述
    • 被Java语言赋予特定含义的单词
  • 关键字特点
    • 组成关键字的字母全部小写
  • 用于定义数据类型的关键字
    • class (类)
    • interface (接口)
    • byte (字节型)
    • short( 短整型)
    • int (整型)
    • long( 长整型)
    • float (单精度浮点型)
    • double ( 双精度浮点型)
    • char (字符型)
    • boolean (布尔型)
    • void (声明当前成员方法没有返回值)
  • 用于定义数据类型值的关键字
    • true (关系运算的返回类型)
    • false (关系运算的返回类型)
    • null( 空)
  • 用于定义流程控制的关键字
    • if (条件语句的引导词)
    • else ( 用在条件语句中,当条件不成立时的分支)
    • switch ( 分支语句结构的引导词)
    • case (用在switch语句之中,表示其中的一个分支)
    • default (默认,例如,用在switch语句中,表明一个默认的分支)
    • while (循环语句)
    • do (用在do-while循环结构中)
    • for (一种循环结构的引导词)
    • break (中断当前循环)
    • continue( 回到一个块的开始处)
    • return ( 从成员方法中返回数据)
  • 用于定义访问权限修饰符的关键字
    • private (一种访问控制方式:私用模式)
    • protected (一种访问控制方式:保护模式)
    • public(一种访问控制方式:共用模式)
  • 用于定义类,函数,变量修饰符的关键字
    • abstract ( 表明类或者成员方法具有抽象属性)
    • final (用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变)
    • static (表明具有静态属性)
    • synchronized(表明一段代码需要同步执行)
  • 用于定义类与类之间关系的关键字
    • extends ( 表明一个类型是另一个类型的子类型,这里常见的类型有类和接口)
    • implements(表明一个类实现了给定的接口)
  • 用于定义建立实例及引用实例,判断实例的关键字

    • new (用来创建新实例对象)
    • this (指向当前实例对象的引用)
    • super (表明当前对象的父类型的引用或者父类型的构造方法)
    • instanceof(用来测试一个对象是否是指定类型的实例对象)
  • 用于异常处理的关键字

    • try ( 尝试一个可能抛出异常的程序块)
    • catch (用在异常处理中,用来捕捉异常)
    • finally (用于处理异常情况,用来声明一个基本肯定会被执行到的语句块)
    • throw ( 抛出一个异常)
    • throws(声明在当前定义的成员方法中所有需要抛出的异常)
  • 用于包的关键字
    • package (包)
    • import(表明要访问指定的类或包)
  • 其他修饰符关键字
    • native (用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的)
    • strictfp (用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范)
    • transient ( 声明不用序列化的成员域)
    • volatile ( 表明两个或者多个变量必须同步地发生变化)
    • assert(用来进行程序调试)

八、标识符

  • 标识符概述
    • 就是给类,接口,方法,变量等起名字时使用的字符序列
  • 组成规则
    • 英文大小写字母
    • 数字字符
    • $和_
  • 注意事项
    • 不能以数字开头
    • 不能是Java中的关键字
    • 区分大小写
  • 标识符(常见命名规则)
    • 包(其实就是文件夹,用于解决相同类名问题)
      • 单级和多级
    • 类或者接口
      • 一个单词和多个单词
    • 常量
      • 一个单词和和多个单词分别举例

九、常量

  • 常量概述
    • 在程序执行的过程中其值不可以发生改变
  • Java中常量分类
    • 字面值常量
    • 自定义常量
  • 字符串常量 用双引号括起来的内容
  • 整数常量 所有整数
  • 小数常量 所有小数
  • 字符常量 用单引号括起来的内容(‘a’,’A’,’0’)
  • 布尔常量 较为特有,只有true和false
  • 空常量 null

    Java针对整数常量提供了4种表现形式

  • 二进制

  • 八进制
  • 十进制
  • 十六进制

十、进制

进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制–X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

  • 不同进制的数据组成
    • 二进制
      • 由0,1组成。以0b开头
    • 八进制
      • 由0,1,…7组成。以0开头
    • 十进制
      • 由0,1,…9组成。整数默认是十进制的
    • 十六进制
      • 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头

        我们首先用eclipse来写一个Demo,看下数值为100在每个进制的输出的值


代码如下:
public class JinZhiDemo {
public static void main(String[] args) {
System.out.println(100); //十进制
System.out.println(0b100); //二进制
System.out.println(0100); //八进制
System.out.println(0x100); //十六进制
}
}

运行结果:
这里写图片描述

为什么在100前面加上0b结果是4呢?100前面加上0结果是64呢?100前面加上0x结果是256呢?不要着急,下面我来给你揭晓答案。

  1. 其他进制到十进制
    • 二进制(100)————>十进制(4)
      • 100 = 1*2² + 0*2^1 + 0*2^1 = 4+0+0 = 4
    • 八进制(100)————>十进制(64)
      • 100 = 1*8² + 0*8^1 + 0*8^0 = 64+0+0 = 64
    • 十六进制(100)————>十进制(256)
      • 100 = 1*16² + 0*16^1 + 0*16^1=256+0+0=256

进制练习,得到下面数据的十进制值:
(1)0b10101
=1*2^4 + 1*2^2 + 1*2^0
=16 + 4 + 1
=21
(2)0123
=1*8^2 + 2*8^1 + 3*8^0
=64 + 16 + 3
=83
(3)0x3c
=3*16^1 + c*16^0
=48 + 12
=60

  1. 十进制到其他进制(方法:除基取余,只到商为0,余数反转)

    • 十进制(20)————>二进制(?)

      • 首先我们来解释一下上面的方法怎么理解:
      • 20为十进制,要转为二进制,我们一定要记住余数,因为它最后就是我们的想要的答案,首先用20/2=10余0,10/2=5余0,5/2=2余1,2/2=1余0,1/2=0余1
      • 余数反转,结果是:10100
      • 大家可以用上面二进制转十进制的方法来验证一下,1*2^4+1*^2²=20
    • 认真的看了上面的十进制到二进制,我们就可以很容易的推理出十进制到八进制、十六进制的方法了,我相信聪明的你可以做到的。

  2. 任意x进制到y进制的转换?(方法:用十进制做桥梁)
    • x进制————>十进制
    • 十进制————>y进制
十一、变量
  • 变量概述
    • 在程序执行的过程中,在某个范围内其值可以发生改变的量
    • 理解:如同数学中的未知数
  • 变量定义格式
    • 数据类型 变量名 = 初始化值;
    • 注意:格式是固定的,记住格式,以不变应万变

十二、数据类型

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间

  1. 分类:
    A:基本数据类型:4类8种
    B:引用数据类型:类,接口,数组。
  2. 基本数据类型

整数占用字节数表数范围
byte1-128~127
short2-32768~32767
int4-2的31次方~2的31次方-1
long8-2的63次方~2的63次方-1

浮点数占用字节数表数范围
float4-3.403E38~3.403E38
double8-1.798E308~1.798E308

字符占用字节数
char2
布尔占用字节数
boolean1

注意:
整数默认是int类型,浮点数默认是double。
长整数要加L或者l。
单精度的浮点数要加F或者f。

  • 数据类型转换

    • boolean类型不参与转换
    • 默认转换
      • 从小到大
      • byte,short,char – int – long – float – double
      • byte,short,char之间不相互转换,直接转成int类型参与运算。
    • 强制转换
      • 从大到小
      • 可能会有精度的损失,一般不建议这样使用。
      • 格式:
        目标数据类型 变量名 = (目标数据类型) (被转换的数据);

    public class ZhuanHuanDemo {
    public static void main(String[] args) {
    //**把double赋值给float,加了强制类型转换**
    double d = 12.345;
    float f = (float)d;
    System.out.println(f);
    }
    }

    结果:f=12.345

十三、运算符

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符

我们来逐个学习


  1. 算术运算符
    这里写图片描述

注意:
A:+,-,*,/都是比较简单的操作
B:+的几种作用:(加法、正数、字符串连接符)
C:除法的时候要注意一个问题:
1.整数相除,只能得到整数
2.要想得到小数,可以*1.0

  • 赋值运算符

    • 符号: = , +=, -=, *=, /=, %=
      • =为基本的赋值运算符,其他的为扩展的赋值运算符
    • 练习:
      public class JinZhiDemo {
      public static void main(String[] args) {
      int a,b;
      a = b = 10;
      System.out.println(a);
      System.out.println(b);
      int c = 10;
      c += 20;
      System.out.println(c);
      }
      }

      结果:
      这里写图片描述
  • 比较运算符
    这里写图片描述

    注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
    注2:比较运算符“==”不能误写成“=” 。

  • 逻辑运算符
    这里写图片描述
    • 逻辑运算符用于连接布尔型表达式,在Java中不可以写成3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值