Java学习前两天汇总

1.计算机语言发展史

1.第一代机器语言,即二进制01等,只能用来解决简单的计算,过于复杂的问题很难写出代码
2.第二代汇编语言,仍然略显繁琐,现在操作工业机器人、单片机编程、甚至某些计算机病毒的 编写还在使用
3.第三代语言很多。例如:C语言、Fortran、cobol、pascal、ada、c++、java、c#。
共分为两大类,面向对象和面向过程的。

2.java语言的优势和特性

  • 可移植性(跨平台性)JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体 的操作系统和硬件环境。“一次编写,随处运行”:“write once, run anywhere”
  • 高性能 JIT(JUST IN TIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使JAVA程序的执行效率大大提高,某些代码甚至接近c++的效率。随着这种技术的一天天完善,也许有一天会超越编译代码的效率。
  • 分布式
  • 动态性
  • 多线程
  • 安全性

3.java三大版本

JAVA SE:java标准版,java的基础和核心
JAVA ME:嵌入式开发,应用较少
JAVA EE:java企业版,偏向网站开发

4.JDK和JRE

JDK:Java Development Kit java开发者工具 百度下载JDK1.8版本安装
JRE:Java Runtime Environment java运行时环境
JRE包含:Java虚拟机、库函数、运行Java应用程序和Applet所必须文件

Java运行环境的三项主要功能:

加载代码:由class loader 完成;
校验代码:由bytecode verifier 完成;
执行代码:由 runtime interpreter完成。

5.安装java开发环境

1.下载JDK1.8
2.安装JDK并记住安装地址
3.配置环境变量
右键计算机 选择属性 选择高级系统设置 选择环境变量 在系统变量中创建JAVA_HOME输入JDK安装地址 选择path 在最后面输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin.;
4.测试是否安装成功
window+R输入cmd 输入java -version,显示java版本,则安装成功

6.Hello World!

新建文本文档,重命名Hello.java 打开输入在这里插入图片描述
注意 所有标点都是英文
保存 win+r 输入cmd 输入javac Hello.java将文件编译为Hello.class
输入java Hello 得到输出结果“Hello,World!”

7.IDE集成开发环境

记事本写代码非常繁琐,我们需要一种只能的工具,目前常用的IDE工具是IDEA,JetBrains公司的产品
打开JetBrains公司的官网有IDEA的社区版(免费但功能少)和旗舰版(收费但功能多)

8.注释

在大量的编码中,我们需要注释
1.单行注释 //加注释
2.多行注释 /*
/
3.文本注释/

**/

9.标识符

1.文件名“HelloWorld”也叫类名
2.关键词如“public class”等
在这里插入图片描述
java中所有的组成部分都需要名字。类名、变量名和方法名都被成为标识符
起名要求
1.所有类名的标识符用大写字母开始
2.所有表示方法和变量的标识符都以小写字母开始,后面单词首字母大写
所有的表示符要求
1.所有的标识符都以大小写的字母或美元符( ) 或 下 划 线 ( ) 开 始 2. 首 字 母 之 后 可 以 是 大 小 写 的 字 母 或 美 元 符 ( )或下划线(_) 开始 2.首字母之后可以是大小写的字母或美元符( 线2.)或下划线(_)或数字的任何组合
3.不能使用关键字作为变量名或方法名
4.标识符的大小写是敏感的
JAVA不采用通常语言使用的ASCII字符集,而是采用unicode这样的标准的国际字符集。因此,这里的字母的含义:可以表示英文、汉字等等。

10.java的数据类型

在这里插入图片描述在这里插入图片描述
赋值float数据类型时要在赋的值后加上大写或者小写的f
赋值long数据类型时要在赋旳值后加上L(小写l容易与1搞混,不推荐)

11.整形拓展 进制

十进制整数,如:99, -500, 0。

八进制整数,要求以 0 开头,如:015。

十六进制数,要求 0x 或 0X 开头,如:0x15 。
演示:
在这里插入图片描述

12.浮点类型拓展

0.3的无限循环*3=0.9的无限循环
(1/3)乘以3=1
0.3的无限循环=1/3
0.9的无限循环不等于1
由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。浮点数一般都存在舍入误差,很多数字无法精确表示,其结果只能是接近,但不等于;二进制浮点数不能精确的表示0.1,0.01,0.001这样10的负次幂。并不是所有的小数都能可以精确的用二进制浮点数表示。
浮点类型float, double的数据不适合在不容许舍入误差的金融计算领域。
如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类。
大数值:Java.math下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。

13.类型转换

由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。

整型、实型(常量)、字符型数据可以混合运算。

运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级(低容量)到高级(高容量)
低 ------------------------------------> 高

byte,short,char—> int —> long—> float —> double
转换规则

  • 不能对boolean类型进行转换
  • 不能把对象类型转换为不相关类的对象
  • 高级转低级时使用强制转换
  • 转换过程中可能会溢出或损失精度
  • 如int i =128;
    byte b = (byte)i;//正确b=128,实际b=-128
  • 浮点数转整数直接抹去小数,而不是四舍五入

jik新特性 数字的下划线分割
1_2345=1万2345

14.运算符号

Java 语言支持如下运算符:

算术运算符: +,-,*,/,%,++,--(加减乘除,取余,自增自减)
赋值运算符 =
关系运算符: >,<,>=,<=,==,!= instanceof
逻辑运算符: &&,||,!(是,或,非)
位运算符: &,|,^,~ , >>,<<(int a=2<<3,a==2乘2的三次方==16),>>> (了解!!!)
条件运算符 ?:
扩展赋值运算符:+=,-=,*=,/=

整数运算

如果两个操作数有一个为Long, 则结果也为long

没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

浮点运算

如果两个操作数有一个为double, 则结果为double.

只有两个操作数都是float, 则结果才为float.

15.package包机制

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

包的作用:

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
为了使用某些包中本包里没有的类,就需要导入那个包,用import导入

16.用户交互Scanner

之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。
下面是创建 Scanner 对象的基本语法:

Scanner s = new Scanner(System.in);

17.选择结构

1.if选择结构
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}

if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

2.switch选择结构
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println(“0”);
case 1:
System.out.println(“1”);
case 2:
System.out.println(“2”);
case 3:
System.out.println(“3”);
break;
default:
System.out.println(“default”);
}
}

i=0输出0 1 2 3
i=3输出3
i>3输出default

18.循环结构

  1. while循环
    while(判断条件){
    //循环执行的程序
    }
    条件一直满足就会一直循环造成死机崩溃,应当避免
  2. do…while循环
    do{
    //循环执行的程序
    }while(判断的条件)
    即使条件不满足也会执行一次
    3.for循环(重点)
    for(初始环境;循环条件;更新的变量){
    //执行的循环程序
    }
    初始环境可为一个或多个
    循环条件判断满足,则更新变量,执行循环程序;否则进入下一个环节
    【演示:while和for输出】

public static void main(String[] args) {
int a = 1; //初始化

while(a<=100){  //条件判断
    System.out.println(a);    //循环体
    a+=2;  //迭代
}
System.out.println("while循环结束!");


for(int i = 1;i<=100;i++){  //初始化//条件判断 //迭代
    System.out.println(i);    //循环体
}
System.out.println("while循环结束!");

}

我们发现,for循环在知道循环次数的情况下,简化了代码,提高了可读性。我们平时用到的最多的也是我们的for循环!

  • 练习

1九九乘法表

//1.进行9次循环,执行9次换行输出 2.赋以变量a的值
for (int a = 1; a <= 9; a++) {

//1.赋以变量b的值  2.执行输出程序b*a=b*a满足条件次数 3.\t:没执行一次空三格
            for (int b = 1; b <= a; b++) {
                System.out.print(b + "*" + a + "=" + a * b + "\t");
            }
            System.out.println();
        }

2.排列为4*6的矩形0

//循环执行4次换行输出
for (int a = 1; a <= 4; a++) {

//每一行输出6个0
            for (int b = 1; b <= 6; b++) {
                System.out.print(0);
            }
            System.out.println();
        }

3.排列为4*4的平行四边形0

//执行4次换行输出
   for(int a=1;a<=4;a++){

//每行开始输出符合条件次数个空格
            for(int b=4;b>a;b--){
                System.out.print(" ");
            }
            
   //每行接着输出4个0
            for(int c=1;c<=4;c++){
                System.out.print("0");
            }
            System.out.println();
        }

4.排列为上1下7共4行的等腰三角形的*

在这里插入图片描述
首先确定思路,第一步输出“1”处的空白部分,第二步输出“2”处的“*”,第三步输出“3”处的“ * ”

//1.赋以变量a的值  2.执行4次换行输出
    for(int a=1;a<=4;a++){

//每一行输出符合条件次数个空格
            for(int b=4;b>a;b--){
                System.out.print(" ");
            }
//每一行输出符合条件次数个“*”
            for(int c=1;c<=a;c++){
                System.out.print("*");
            }
//每一行输出符合条件次数个“*“
            for(int d=1;d<a;d++){
                System.out.print("*");
            }
            System.out.println();
        }

break & continue

break结束整个循环
continue打断当前循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值