java及html杂乱笔记

//打印一个八进制的整型常量 在整数前面加0
        System.out.println(010);
        //打印一个十六进制的整型常量 在整数前面加0x或0X
        System.out.println(0x12);


//ctrl+d 生成一模一样的语句
//选中 按ctrl+/ 全部注释


//%d表示整数  格式化打印(了解)
        System.out.printf("我的年龄%d",18);


//声明一个常量 final关键字     final 数据类型 常量名; 常量一般使用英文大写
        final int A=1;


 //1.java名字由大小写字母,下划线_,美元$,数字组成
        int Aa_$018=0;
        //2.不可以由数字开头
        //int 123abc; 编译错误

        //3.大小写敏感
//4.不能用java关键字来命名
//        int int;
//        int class;

        //5.不能用java保留字去命名。goto
//        int goto;

        //6.可以用中文命名,但是不建议。
//7.驼峰法命名。 见名知意
        //表示一个用户的年龄
        int userAge;
        userAge=1;//两个或两个以上单词组成,第一个单词全小写,从第二个单词开始每个单词首字母大写。

        //类名,大驼峰命名:单词首字母都大写,不可以由数字开头

//打印语句快捷方式:sout

java语言之父:詹姆斯高斯林(James Gosling)
1995年5月23日,Java语言诞生
1996年1月,第一个JDK–JDK1.0诞生 代号Oak ( 橡树 )
1997年2月18日,JDK1.1发布
代号为Playground(操场)
1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)JavaSE、企业版(J2EE)
JavaEE 和微型版(J2ME)
2000年5月8日,JDK1.3发布 开发代号为Kestrel(红隼)
2004年9月30日18:00PM,代号为“Tiger”,J2SE1.5发布,成为Java语言发展史上的又一里程
碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0(因为新特新增加特别多,所以起了
个好听的名字!),更新了包括泛型支持、基本类型的自动装箱、改进的循环、枚0举类型、格
式化I/O及可变参数。
2006年12月,SUN公司发布JRE6.0 代号为Mustang(野马)
2011年7月28日,Oracle公司发布Java SE 7 代号是Dolphin(海豚)
2014年3月18日,Oracle公司发表Java SE 8(市场主流版本)代号是Spider(蜘蛛)

Java语言编译原理
 程序员编写java源文件(.java)首先要经过编译,生成字节码文件;
 Java程序运行需要JVM的支持,JVM是安装在操作系统上的软件,为字节码文件提供运行环境。

一次编程到处使用-跨平台性
 Java官方提供了针对不同平台的JVM软件,遵循着相同的规则,只要是class文件,就可以在不
同的JVM上运行

JDK-Java Development Kit(Java开发工具包)
JRE-Java Runtime Environment(Java运行环境)
JVM-Java Virtual Mechines(Java虚拟机)
如果我们要进行java开发就要下载jdk,如果我们只运行java程序不进行开发就只需要安装jre

javac和java命令
(1)javac.exe
将.java源文件编译为.class字节码文件。
(2)java.exe:
执行生成的.class文件

为什么要配置jdk环境变量?
我们要运行java程序的时候,要先执行javac命令去将.java文件编译成.class文件,再使用java命令
去加载.class字节码文件。因此要在cmd命令提示符窗口去输入javac或者java命令。因此配置环境变量
的目的为了使输入的命令在任意一个盘符或者目录下都能使用。

常见的dos命令:
直接输入盘符名称 E:表示切换到E盘 ·dir:查看当前路径下的内容 ·cd目录名:cd test进入到test目录下 ·cd 目录1\目录2\...:进入多级目录 ·cd \ :回退到盘符目录 ·tree:显示当前目录的目录结构 ·md(make directory):创建目录 ·del +文件名:删除文件 +目录名:把该目录下的所有文件删除 ·rd:删除目录(条件是:该目录是空的) ·ren(rename):ren 源文件名 想要修改的文件名 ·cls:清屏 ·exit:退出命令提示符窗口

//数据类型--整型
//byte(1byte)-128~127 short(2byte) int(4byte) long(8byte)

//在声明long变量时候,如果赋的值非常大(超出int范围的时候),在数值后面一定要加l或者L
       //建议:在声明的时候都要加L或者l
        long l=1000;
        long l2=10000000000000000l;

基本数据类型、引用类型
基本数据类型
1byte=8bit
byte(字节整型) 1byte(8bit) -128~127 -2^7~2^7-1 (记住)
short(短整型) 2byte(16bit) -2^15~2^15-1
int(默认)常用 (整型) 4byte(32bit) -2^31~2^31-1
long(长整型) 8byte (64bit) -2^63~2^63-1
float (单精度的浮点数) 4byte -3.4E38~3.4E38
double(双精度浮点数) 8byte -1.7E308~1.7E308
char (字符型) 2byte 表示一个字符,表示整数0~65535
boolean(布尔类型) 1byte true,false

//给float类型赋值时,要在值后面加上F或者f float f=2.0f;

//double类型在计算中,出现舍入误差的情况 //在十进制中,我们无法精确的去表示1/3 ,在二进制中无法精确的表示0.9和0.1 double a=3.0;

//多个字符连在一起,字符串String 不是基本数据类型,是一个类,就叫引用类型

//字符串类型+基本数据类型===>字符串类型 System.out.println("123"+i+j);//先和i拼接成 "123233" 再去和j拼接成 "123100200" //先计算再拼接 System.out.println(i+j+"123");//先计算了i+j的和 为300 再去和“123”拼接成了 "300123" String result=i+"";//整型转换为字符串类型: 整型+"" System.out.println(result+j);//100200

1.赋值时的转换 小范围数据类型可以赋给大范围数据类型
/2.不同类型的值在计算时,会自动转换成最大范围的数据类型
byte、short、int、char不会相互转换,但是三者在运算时都会转换成int类型来计算。
//强制转换 小数据类型 变量名=(小数据类型)大类型变量或值
/精度丢失问题double
//内存溢出问题

+、-、*、/、%(取余)、++(自增)、--(自减)、>> 、<<
//整数在做除法运算时:去除小数部分,保留整数部分。
//结果符号与被取模数一致
//如果被取模数小于取模数 结果等于被取模数
后置自增自减:先做运算再自增自减 前置自增自减:先自增自减再赋值

与:有假即假,全真为真
或:有真即真,全假为假 
与运算: 指:当第一个表达式为假时后面的表达式就不会再去运算了
或运算: 指:当第一表达式为真时后面的表示式不参与运算

//在字符串中 + 叫拼接

三目运算符
//1.先去随便比较两个人的身高,得到大的身高。 // int i = a > b ? a : b; // //2.再拿大的身高和第三个数据比较 // int j = i > c ? i : c; // System.out.println("身高最大为:"+j+"cm");

//短路逻辑或:当第一个表达式为true时,后面的表达式不会去执行
        //&&短路  &不短路

//重载方法的调用:格数传递的参数数量和类型 来判断调用哪个方法

switch case 选择语句 格式: switch(表达式){ //byte,short,int,long ,char,String(jdk1.7之后) case 值1:代码1;break; case 值2:代码2;break; case 值3:代码3;break;

(先匹配一个case 运行直到遇见break)
/如果不写break,代码会继续往下去执行,直到遇到break为止。 具有穿透 性

/*while循环格式: ①初始化一个变量 // 用来控制循环的开始或者结束 while(②布尔类型的表达式或者值){ ③循环体; ④步进表达式;//去改变变量的值 }执行流程:1-2-3-4 2-3-4 2-3-4 2不满足条件时跳出循环 do-while循环格式: ①初始化一个变量 do{ ②循环体; ③步进表达式; }while(④布尔类型的表达式或者值) 执行流程:1-2-3-4 2-3-4 2-3-4 不满足时跳出 do-while无论如何都会执行一次 */

//for循环 /*循环语句四要素: ①初始化一个变量 ②布尔类型的表达式或者值 ③循环体; ④步进表达式; 格式:for(①;②;④步进表达式){ ③循环体; }

//break:直接跳出循环,循环语句不会再执行 //continue:跳出本次循环,继续执行循环

数组的声明方式1 格式: 数据类型[] 数组名=new 数据类型[数组的长度];
2.数组声明方式2 格式: 数据类型[] 数组名=new 数据类型[]{1,2,3,4,5};
/3.数组声明方式3 格式:数据类型[] 数组名={6,7,8,9};

//冒泡排序 public static void bubSort2() { int[] arr = {36, 27, 42, 35, 19}; for (int i = 0; i < arr.length - 1; i++) {// 这个循环代表需要排序次数。-1表示:5个 元素只需要排4次 for (int j = 0; j < arr.length - 1 - i; j++) {//代表比较次数。 -1:五个元素 只需比较4次 -i:每排一次都能确定一个最值,所以比较次数会减少 if (arr[j] > arr[j + 1]) { //元素交换。如果前面的值比后面的小则交换位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }System.out.println("冒泡排序结果"); printArray(arr); }

//二维数组的声明方式1:数据类型[][] 数组名= new 数据类型[一维数组的个数][一维数组的元素个 数];
//二维数组声明方式2:数据类型[][] 数组名= new 数据类型[一维数组个数][];
//二维数组声明方式3:数据类型[][] 数组名=new 数据类型[][]{ {1,0},{2,3},{4,6,{7,8}}
//二维数组声明方式4:数据类型[][] 数组名={ { {1,2,3},{1,2,5},{4,5,6} };

方法中,执行了return就不会再往下执行

//在类中。隐藏了一个无参构造方法
    //一旦我们手写了构造方法,隐藏的默认无参构造方法会被覆盖

//在构造方法中可以使用this(参数列表)来调用其他构造方法,必须写在第一行
//在创建对象时,默认调用无参构造方法

  // this.属性 表示的是成员变量
        //如果成员方法中 局部变量名称和成员变量名称相同的情况下。用this来区分成员变量
        //哪个对象调用成员方法,this就指代哪个对象
        //在成员方法中,使用this.成员方法名去调用其他的成员方法

//属性 成员变量:在类中方法外的变量 有默认值
//行为 成员方法:没用使用static修饰的方法

 //成员变量
    //使用private修饰的成员变量或者方法,只能在本类中访问

javabean
//成员变量
 //无参构造方法(必须)
//有参构造方法(依情况而定)
//成员方法
//set get函数

//子类无法继承父类私有的成员
//子类可以访问到父类非私有的成员属性
 //父类不能访问到子类特有的属性

//在子类的无参构造方法中,第一行默认有super();去调用父类的无参构造方法
        //可以使用super(参数值)去调用对应父类的有参构造方法
//创建子类对象,会先去调用父类的无参构造方法

//为什么创建子类对象时,要去调用父类的构造器?
        /*
        创造对象时,会调用构造方法。去调用父类的构造方法,相当于就是创建父类对象。
        为什么要去创建父类对象?
        子类能访问到父类里的属性,因为创建子类对象时,同时也去创建了父类的对象。在堆里面开辟一个空间去存储父类的属性。子类引用可以通过地址可以去访问到父类的属性了
         */

如果父类没有无参构造函数 要么在父类中创建无参构造函数,要么调用有参构造函数

this.变量名。访问本类中成员变量
使用super.变量名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值