欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基础第一篇

程序员文章站 2022-04-28 14:20:03
1、JDK:Java Development kit 能对Java程序编译,运行 包含JRE JRE:Java Runtime Environment 能对Java程序运行 包含JVM和一些核心类库 JVM:Java Virtual Machine 最终Java程序是在JVM跑起来 Java 跨平台 ......

1、jdk:java development kit

    能对java程序编译,运行
    包含jre

jre:java runtime environment
    能对java程序运行
    包含jvm和一些核心类库

jvm:java virtual machine
    最终java程序是在jvm跑起来

java 跨平台的根本是因为不同平台下有对应版本虚拟机 

关系:jdk = jre + 工具;  jre = jvm + 类库;

2、配置环境变量:

对于java程序开发而言,主要会使用jdk的两个命令:javac.exe、java.exe。路径:c:\java\jdk 1.7.0 _09\bin。但是这些命令由于不属于windows自己的命令,所以要想使用,就需要进行路径配置。

单击“计算机-属性-高级系统设置”,单击“环境变量”。在“系统变量”栏下单击“新建”,创建新的系统环境变量。

(1)新建->变量名"java_home",变量值"c:\java\jdk1.8.0_05"(即jdk的安装路径)
(2)编辑->变量名"path",在原变量值的最后面加上“;%java_home%\bin;%java_home%\jre\bin”
(3)新建->变量名“classpath”,变量值“.;%java_home%\lib;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar”

1.数据类型

a.基本类型:关键字都是小写																					占用的字节数
 byte:面向网络编程 (1byte,-128~127)()													1个字节
 short:2个字节(-2*2^15 ~ 2*2*^15)														2个字节
 char:字符串与字符之间的转换 (2byte)													2个字节
 int:只要定义整数类型,优先考虑int(-2*2^31 ~ 2*2^31)										4个字节
 long:存储毫秒值数据(-2*2^63 ~ 2*2^63)													8个字节
 float:如果想要定义float 需要在小数后面加f或者f(-3.403*10^38 ~ 3.403*10^38)				4个字节
 double:定义用户名小数,优先考虑double(-1.798*10^308 ~ 1.798*10^308)						8个字节
 boolean:一般作为方法返回值(判断字符串是否包含数字,用户名是否重复..)					1个字节

b.引用类型:以类的名字作为类型就是引用类型(类,接口,数组存储同一种数据类型的容器)
 a.jdk 已有的引用类型
   java.util.scanner:键盘录入
   java.util.random:产生随机数
   
   java.lang.string:专门处理字符串的
   java.lang.stringbuilder:可变的字符容器

   java.util.arraylist:可变的容器,不考虑长度

   java.io.filereader:字符读取流
   java.io.filewriter:字符写入流

   java.io.bufferedreader:高效读取缓冲流
   java.io.bufferedwriter:高效写入缓冲流
 
 b.自定义引用类型:自己起个类名
   class a{

   }
   a a=new a();

2.运算符:

a.+,-,*:购物小票场景
商品名称         商品数量     商品单价        金额
榴莲草莓芝士蛋糕     2(个)         400            800  
鲜榨椰子汁           10(杯)        40             400
帝王蟹               10(斤)        666            6660

合计                22                           7860
现金                                             8000(刷银联)
找零                                             找零到银行卡(140)

商品数量*商品单价=每项商品总价
每项商品总价累加=总金额
商品数量累加=总数量
商品总价*折扣=打折后的总价

b./,%:/求的是商,%求的是余数
	求一个数的所有位数:123
	123 % 10 =3
	123 /10 % 10=2
	123 /10/ 10 %10=1,

 c.&&,||,!
&&: 表达式1 && 表达式2 && ... 全真才为真,有假即为假,自左往右运算,一旦有一个表达式为false,不再往右运算,最终表达式结果为false
    应用:
       两位数不能包含9
       个位数!=9 && 十位数!=9

||: 表达式1 || 表达式2 || ... 全假才为假,有真即为真,自左往右运算,一旦有一个表达式为ture,不再往右运算,最终表达式结果为true
    应用:
       判断用户名不能包含&,^
       !用户名.contains("&") || !用户名.contains("^")

!:!true=false !false=true  !(表达式1 && 表达式2)=!表达式1 || !表达式2  !(表达式1 || 表达式2)=!表达式1 && !表达式2
  应用:
    boolean flag=false;
    if(!flag){
    	//执行某些事情
    }
	
	 
   与:&	有false则false
   或:|	有true则true
   异或:^ 相同则false,不同则true。(男女朋友) (扩展: 运算符 ^ 异或两次就是他本身,所有这里异或一次,进行加密)
   非:!	true则false,false则true
   
   ‘a’	97    26个    'z'  122
   ‘a’	65  		  'z'  90
   '0’	48	
d.自增运算符
 int x=3;
    int y=x++;//先使用x的值后,x自增 y=3 x=4

	int m=4;
	 int n=++m;//m先自增,后使用 n=5,m=5
 应用:在循环中大量使用
     for(int i=0;i<2;i++){

     }