Javase(1)

java初生

  • 1995年的网页简单粗糙,缺乏互动性。
  • 图形界面程序:Applet
    • java se桌面
    • java me手机
    • Java ee服务器

Java发展

特性:三高:高可用,高性能,高并发

  • 构造工具:Ant、Maven、Jekins

  • 应用服务器:Websphere、weblogic

  • Web开发:Struts、Spring、Hibernate、myBatis

  • 开发工具:Eclipse、Netbean、intellij idea、Jbuilder


  • 2006:hadoop大数据领域

  • 2008 :Android

java特性和优势

1. 简单性
2. 面向对象
3. 可移植性
4. **高性能**
5. **分布式**
6. **动态性**
7. **多线程**
8. **安全性**
9. 健壮性

打开CMD的方式

  1. 开始+系统+命令提示符

  2. win键+r

  3. 文件夹的路径前面Cmd+空格键

  4. powershell

    管理员身份运行可以获得最高权限

    常用的dos命令

    1 .#英文状态下
    ##切换盘符 盘符+:
    2.#查看当前下的文件dir
    3.#切换目录  dir(directory) cd /d E\IDE第一个反斜杠是参数的标志,第二个斜杠作用是目录的标志     cd..返回上一级
    4.#清理屏幕cls(clean screen)
    5.#查看ip  ipconfig
    6.#打开应用
    calc
    mspaint
    notepad
    7.#ping命令
    ping  www.baidu.com
    8.#文件操作命令:
    #创建文件夹 md(make directorty)
    #删除  del
    #移除文件夹  rd
    
    
    
    

IDEA安装

官网

jet brands的官方网站

安装卸载jdk

最好安装jdk1.8版本

  • oracle官方下载jdk

  • 配置环境目录

  • win10 此电脑—属性----高级系统设置–1.JAVA_HOME2.PATH

    JAVA_HOME     安装目录
        Path     1.  JAVA的安装目录bin
                 2. JRE的bin目录下
    

HelloWorld

  1. 建立一个code文件夹存放代码

  2. 建立一个Java文件

    • 文件后缀名为.java
    • Hello.java
    • 【注意点】文件没有后缀名,需要手动打开
    • 文件名字好像要和类名一致
    1. 编写代码

      public class HelloWorld{
      	public static void main (String[] args){
      		System.out.print("HellloWorld");
      	}
      	
      	
      }
      

      4.编译代码javac +Java文件【后缀名】 生成一个.class文件

      5.运行代码java +class文件

      Bug

      1. 大小写
      2. 单词拼写
      3. 括号
      4. 分号
      5. 类名与文件名一致

恭喜成为一名程序猿

关键字

关键字

java所有的组成部分都需要名字,类名,变量名和方法名都被称为标识符

标识符

  • 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始
  • 首字符之后可以是字母(A-Z或者a-z),美元符($),或者下划线(_)或数字的任何形式的组合
  • 不能使用关键字作为变量名或方法名
  • 标识符是大小写敏感的
  • 合法标识符举例:age,$salary,_value,_1_value
  • 非法标识符举例:132abc,-salary,#abc
  • 可以用中文命名,但是不建议很LOW

注释

  • 注释不会被执行,是写给写代码的人看的

  • 单行注释

  • 多行注释

  • 文档注释

            //单行注释---注释一行文字
            /*
            多行注释---注释一段文字
             */
    		        /**
             * 文档注释
             */
    

基本数据类型

  • 强类型语言

要求变量的使用要严格要求符合规定,所有变量定义后才能使用

  • 弱类型语言

基本类型

先声明变量,然后在变量实例化

        /*
        整数型
         */
        int  num1=10;//最常用的
        byte  num2=10;
        short  num3=30;
        long num4=40L;//Long类型后面一般加L

        /*
        浮点型(小数)
         */
        float  num5=10.0F;//float类型后面加一个F
        double  num6=10.0;//常用浮点型

        /*
        布尔型
         */
        boolean   i=true;
        boolean   b=false;

        /*
        字符
         */
        char  name='a';


        /*
        字符串:字符串是一个封装类,被别人加工好的一个类
         */
        String  name1="liuyueyang";

引用类型

在这里插入图片描述

字节

  1. 位(Bit)是计算机内部数据储存的最小单位,11001100是一个8位2进制数
  2. 字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示
    • 1bit就是1位
    • 1Byte=8bit(位)
    • 1024B=1KB
    • 1024KB=1GB
    • 1024GB=1T
  3. 字符:是计算机中使用的字母、数字、字和符号

从寻址能力来了解32位和64位系统

  1. 32位系统的最大寻址空间是2的32次方=4GB左右;

  2. 64位系统的最大寻址空间是2的64次方,数值大于1亿GB;

  3. 也就是说32位系统的处理器最大支持到4G内存;而64位系统最大支持高达亿位数,实际应用过程中大多数的32位系统最多只能识别3.5G内存,64G系统最多识别128G内存。


  4. 32位和64位意味着处理器一次能处理的最大位数。

  5. 而现在的32位处理器只能安装32位系统,64位处理器却能同时支持安装32位和64位系统

补充

整数

        //整数拓展
        //二进制  0b   八进制0    十进制     十六进制0x   0~9 A~F
        int i=10;
        int i1=010;//先将它转成8进制然后在进行结果输出--8
        int i2=0b10;--2
        int i3=0x10;--16
        int i4=0xF;--15

浮点数

//浮点数类型-----银行业务拓展
float  f=0.1F;
double d=1.0/10;
float f1=10.0F;
double d1=100.0/10;
System.out.println(f);---0.1
System.out.println(d);---0.1
System.out.println(f==d);----false
System.out.println(f1);-----10.0
System.out.println(d1);-----10.0
System.out.println(f1==d1);-----true
   ** 最好避免用浮点数类型作比较**

字符拓展

char  a='a';
char  b='中';
System.out.println(a);

System.out.println(b);

System.out.println((int)a);//强制转换

System.out.println((int)b);//强制转换
//所有的字符的本质还是数字
//编码  Unicode   占2字节    范围65536     Excel表格---2的16次方---655536
//U0000   UFFFF
char c='\u0097';//char后面一定要加dan yin hao,底层原理
System.out.println(c);

//转义字符
//\t制表符
//\n换行符
System.out.println("=======================================");
System.out.println("Hello\tWorld");
Hello   World
System.out.println("Hello\nWorld");
Hello
World

布尔值

        //布尔值        //if语句        if (flag){};//老手        if (flag==true){};//新手

运算符

  • 算术运算符+,-,/,*,%(模运算),++,–

  • 赋值运算符=

  • 关系运算符<,>,<=,>=,==,!=,instanceof

  • 逻辑运算符&&,||,!-----与,或,非

  • 位运算符

  • 条件运算符

  • 拓展赋值运算符

算数运算符–二元运算符

        long  a1=123456;        int   a2=223;        short a3=446;        byte   a=10;        System.out.println(a1+a2+a3+a);//long类型        System.out.println(a2+a3+a);//int类型        System.out.println(a3+a);//int类型        double  d=11.1;        System.out.println(d+a);//Double 类型

关系运算符

        //关系运算符结果  true  或者false---用布尔值表示        int a=10;        int b=20;        System.out.println(a>b);        System.out.println(a<b);        System.out.println(a==b);        System.out.println(a!=b);

模运算

//模运算int a=20;int b=-30;System.out.println(a%b);//20System.out.println(b%a);//-10

注意:

  • 取模支持对负数进行运算,且结果的符号总是与被除数的符号保持一致。
  • 取模也支持对小数进行运算
  • 两个小数也可以进行取模运算

一元运算符—自增,自减

//++ -- 自增,自减int  i=1;System.out.println(i);//1int  i2=i++;System.out.println(i);//2System.out.println(i2);//1/*以上代码说明先给i2赋值,然后i在自增1 */int  i3=++i;System.out.println(i);//3System.out.println(i3);//3/*以上代码说明先将i自增1,然后在将i的值赋给i3 */

逻辑运算符

boolean  i=true;boolean   i2=false;System.out.println("i&&i2:"+(i&&i2));//两个都为真,结果为trueSystem.out.println("i||i2:"+(i||i2));//有一个为真,结果就是trueSystem.out.println("!(i&&i2):"+(!(i&&i2)));//去结果的相反值

短路运算

//短路运算int i=1;int  i1=i++;System.out.println((i<0)&&(i1<3));System.out.println(i1);//结果为1,说明没有执行i++的代码

位运算符(针对二进制的位运算符)

位运算符:与&,非,或,异或

&:说明2个操作数都为1的情况下为1

    int a=128;//1000,0000    int b=129;//1000,0001    System.out.println(a&b);

|:说明2个操作数有一个为1的情况下为1

package operator;public class Demo07 {    public static void main(String[] args) {        int a=128;//1000,0000        int b=129;//1000,0001        System.out.println(a|b);    }}

~:如果是0,结果是1;如果位是1,结果是0(不懂)

^:相同为0,不同为1

面试题

为什么这样算的效率最高?

答:因为对计算机底层进行处理,方便计算机底层认识
请添加图片描述

关于运算符的补充

拓展赋值运算

int a=10;int b=20;int c;System.out.println(a*=b);//200System.out.println(a/=b);//10System.out.println(a+=b);//30System.out.println(a-=b);//10

注意:

注意代码的运算顺序

±-字符串连接符

//+-----字符串连接符int a=10;int b=20;System.out.println(""+a+b);//拼接System.out.println(a+b+"");//先计算a+b,在进行拼接

三元运算符

    int money =10;String type=    money>9? "支付成功":"支付失败";    System.out.println(type);

注意:

要给三元运算最后的结果定义一个数据类型,并初始化。

类型转换

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

请添加图片描述

运算中,不同类型的数据转换先转化为同一类型,再进行计算

  • 强制类型转换

            //强制类型转换   (类名)变量名   高--->低        //自动类型                     低--->高           //强制        int i=128;        double  b=(byte)i;        System.out.println(b);            //自动
    
  • 自动类型转换

        byte b1=100;        int i1=b1;        System.out.println(i1);

注意点

  1. 不能对布尔类型进行转换

  2. 不能把对象类型转换为毫不相干的类型

  3. 在高容量转换为低容量的时候,需要强制转换

  4. 转换的时候可能存在内存溢出,或者是精度问题

    //内存溢出        int i2=128;        byte  b2=(byte)i2;        System.out.println(b2);
    
            //精度问题        System.out.println((int)23.7);        System.out.println((int)12.37F);
    
  5. 浮点数类型数的优先级大于整数类型的优先级

jdk7特性和溢出问题

操作比较大的数字的时候,注意溢出问题

jdk7特性,数字之前可以用下划线分割,比如1_0000_0000

        int  money=10_0000_0000;        int  years=20;        long  total=((long)money)*years;//计算的时候已经溢出        long  total1=total;//默认是int,并且内存在已经溢出,在转换以前已经存在问题了        System.out.println(total1);//        long total2=((long)money)*((long)years);        System.out.println(total2);        long total3=money*((long)years);        System.out.println(total3);

只需要转换一个变量即可

变量

概念:可以变化的量。

Java是强类型语言,每个变量的都必须生命其类型。

Java变量是程序中的最基本的单元,其要素包括变量名,变量类型和作用域

注意事项

  • 每个变量都有类型,可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符
  • 变量声明必须是一个完整的语句,因此每个变量都必须以分号结尾。
public class Demo03 {    //类变量  前面借一个关键字“static”,从属于类    static double salary=1_0000;//类变量    int age;    //实例变量:从属与对象,如果不自行初始化,这个类型的默认值是0或者0.0或者是\u0000;    //布尔值的默认值是false    //除了基本类型,其他引用类型的默认值都是null//main方法    public static void main(String[] args) {        //局部变量:必须声明和初始化值        System.out.println(salary);//类变量的调用        System.out.println(Demo03.salary);      // System.out.println(age);实例变量不可以这样调用        Demo03  demo03=new Demo03();//实例变量的调用        System.out.println(demo03.age);//0        //局部变量        int  years=100;        System.out.println(years);//局部变量    }}

常量

概念:不可以变化的量。

注意:

  1. 单词大写用下划线”_“隔开

  2. 只能赋值一次

  3. 程序执行过程中不能改变

    public class Demo04 {    //static是修饰词,跟final的位置可以更换    static final double PI=31.14;    public static void main(String[] args) {        System.out.println(PI);    }}
    

java程序运行机制

  • 编译型:运行一次

  • 解释型:可以随时解释一些东西的意思

    程序运行机制

请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值