JavaSE学习总结(二)——Java语言基础
一、Java程序预览
Java的语法与C非常类似,这里先使用几个非常简单的程序以点带面来区分C语Java的区分再细讲每个知识点。该文仅针对有编程基础的朋友参考。
1.1、Hello World
创建java项目
新建一个类
运行
1.2、Eclipse使用
1.2.1、项目位置
在项目上右键 ->properties ->location
在项目上alt+enter键也可以打开项目属性
1.2.2、重置窗口布局
显示窗口,如控制台
选择show view
1.2.3、设置字体
window->preferences
1.2.4、修改控制台字体
1.2.4、项目的导入与保存
点击选择项目
完成
1.2.5、修改快捷键
默认快捷键为alt+/,可以修改为其它习惯的快捷键,如tab,tab
1.2.6、重命名
有时我们需要将类名或文件名修改,不能随意的原因是因为一个类可能被其它的类所引用
1.2.7、编码
Window -> Preferences -> General -> Workspace -> Text file encoding -> Other
万国码 unicode
utf-8 gb-2312-80 big5
Window -> Preferences -> Web -> JSP Files -> Text file encoding-> Other:
1.2.8、设置JDK本地JavaDOC API路径及源码路径
还都生成的是无意义的变量名,这样可能会对含有相同类型的变量参数的调用顺序造成干扰;
按Ctrl+点击系统对象可以查看源代码,源代码位置:
这种问题,我们把JDK或者相应Jar包的源码导入进去就能避免了:
Window -> Preferences -> Java -> Installed JREs -> Edit:
选中设置好的JRE目录,编辑,然后全选 JRE system libraries 下的所有Jar包,点击右边的 Source Attachment;
External location 下,选中JDK安装目录下的src.zip 文件,一路OK 下来。
1.3、快捷键
1.3.1、Eclipse快捷键大全
Ctrl+1 快速修复(最经典的快捷键)
Ctrl+D: 删除当前行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)
Alt+↑ 当前行和上面一行交互位置(同上)
Alt+← 前一个编辑的页面
Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)
Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性
Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)
Shift+Ctrl+Enter 在当前行插入空行(原理同上条)
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)
Ctrl+M 最大化当前的Edit或View (再按则反之)
Ctrl+/ 注释当前行,再按则取消注释
Ctrl+O 快速显示 OutLine
Ctrl+T 快速显示当前类的继承结构
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一个
Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)
Ctrl+/(小键盘) 折叠当前类中的所有代码
Ctrl+×(小键盘) 展开当前类中的所有代码
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)
Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)
Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变为小写
Ctrl+Shift+Y 把当前选中的文本全部变为小写
Ctrl+Shift+F 格式化当前代码
Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)
下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)
Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)
Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)
Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)
Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
Alt+Shift+V 移动函数和变量(不怎么常用)
Alt+Shift+Z 重构的后悔药(Undo)
1.3.2、
1.4、调试(debug)
1.4.1、设置断点
当程序运行到该位置时将中断,等待你的下一步指示。
在代码前双击用于设置与取消断点。
1.4.2、启动调试
点击工具栏中的“debug”按钮可以启动调试。
可以选择切换视图,切换后的效果:
1.4.3、执行调试
单步进入:一步一步执行到每一个细节
单步跳过:只计算当前结果不会进行细节
查看运行时的变量
在遇到逻辑错误时请调试。
二、类型
2.1、java中常用的类型
package com.zhangguo.c139.chapter2; public class Demo1 { public static void main(String[] args) { //数字
//整型
int i1=100;
//长整型
long i2=998877665544332211l;
//短整型
short i3=235;
//浮点型
double d1=3.5; //双精度
double d2=3;
float f1=(float)3.5; //单精度
float f2=3.5f; //单精度 //布尔类型 boolean true真/false假
boolean isPass=true;
boolean isOk=false;
boolean isBig=5>8;
if(isPass){
System.out.println("通过了");
}else{
System.out.println("未通过");
} //单字符
char f='女';
char m='男'; //字符串
String s1="Hello 中文!";
String s2=1+""; //转换成String } }
运行:
小转大,类型匹配
double d=5;
String s="Hello"+9527
2.3、强制转换
大转小,类型适应(数字转数字)
int i=(double)198.5;
2.4、不同类型间的强制转换
String name = "9527";
int brother = Integer.parseInt(name) + 1;
System.out.println(brother); double d = Double.parseDouble(name);
Boolean.parseBoolean(name);
float f = Float.parseFloat(name);
输出:
三、输入与包
package com.zhangguo.chapter1; //导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;
import com.zhangguo.chapter1.Math1; /**
* 输入
* @author Administrator
*
*/
public class Math2 { public static void main(String[] args) {
//定义扫描器
Scanner input=new Scanner(System.in); //定义变量
int n=input.nextInt(); //等待输入 //String name=input.next(); //输入字符
//float mark=input.nextFloat(); //输入单精度数字
//double pi=input.nextDouble(); //输入双精度数字 //条件 判断
if(n==0){
System.out.println("零");
}else if(n%2==1){ //如果一个数与2求余为1
System.out.println("奇数");
}else{
System.out.println("偶数");
}
} }
输出3位数到指定数之间的中能同时被3或5整除的数
package com.zhangguo.c139.chapter2; //包 //导包
import java.util.Scanner; public class InputDemo { public static void main(String[] args) { //创建扫描器对象
Scanner input=new Scanner(System.in); // 输出3位数到指定数之间的中能同时被3或5整除的数
System.out.print("请输入n:");
//从键盘输入
int n = input.nextInt(); for (int i = 100; i <= n; i++) {
if(i%3==0&&i%5==0){
System.out.println(i);
}
} } }
a)、导入包,导入类
同一个包中的类可以直接引用
不同包中的类型需要导入,使用import,import java.util.Scanner;
如需使用某个包下的所有类,则使用*号,如import java.util.*;
b)、输入
定义扫描器
使用扫描器对象的next*()方法
package com.zhangguo.chapter1; //导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner;/**
* 输入
* @author Administrator
*
*/
public class Math2 { public static void main(String[] args) {
//定义扫描器
Scanner input=new Scanner(System.in); System.out.print("请输入一个数:");
//定义变量
int n=input.nextInt(); //等待输入 //String name=input.next(); //输入字符
//float mark=input.nextFloat(); //输入单精度数字
//double pi=input.nextDouble(); //输入双精度数字 //条件 判断
if(n==0){
System.out.println("零");
}else if(n%2==1){ //如果一个数与2求余为1
System.out.println("奇\t数");
}else{
System.out.println("偶数");
}
} }
四、流程控制
4.0、if条件分支
判断一个数是奇数还是偶数
package com.zhangguo.chapter1; /**
* 判断一个数是奇数还是偶数
* @author Administrator
*
*/
public class Math1 { public static void main(String[] args) {
//定义变量
int n=0; //条件 判断
if(n==0){
System.out.println("零");
}else if(n%2==1){ //如果一个数与2求余为1
System.out.println("奇数");
}else{
System.out.println("偶数");
}
} }
4.1、for循环
for循环计算1到该数间能被3和5同时整除的数之和
package com.zhangguo.chapter1; //导入包,同一个包不用导入直接使用,不同的包需导入
import java.util.Scanner; /**
* 计算1到该数间能被3和5同时整除的数之和
*
* @author Administrator
*
*/
public class Math3 { public static void main(String[] args) {
// 定义扫描器
Scanner input = new Scanner(System.in); // 默认的提示 alt+/ // 提示输入
System.out.print("请输入一个数:"); // 执行输入
int n = input.nextInt();
int sum = 0; // 循环
for (int i = 1; i <= n; i++) { // 判断,逻辑运算,与C一样,&&与,||或,!非
if (i % 3 == 0 && i % 5 == 0) {
// 累加
sum = sum + i;
}
} System.out.println("总和是:" + sum);
} }
运行结果:
4.2、while循环
while循环计算1到该数间能被3和5同时整除的数之和
package com.zhangguo.chapter1; import java.util.Scanner; /**
* while循环计算1到该数间能被3和5同时整除的数之和
*
*/
public class Math6 { public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个数:");
int n=input.nextInt();
int i=1,sum=0; while(i<=n){
if(i%3==0&&i%5==0){
sum=sum+i;
}
i++;
} System.out.println("总和是:"+sum);
} }
break:结束当前循环
package com.zhangguo.chapter1; import java.util.Scanner; /**
* while循环计算1到该数间能被3和5同时整除的数之和
*
*/
public class Math6 { public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个数:");
int n=input.nextInt();
int i=1,sum=0; while(i<=n){
if(i%3==0&&i%5==0){
sum=sum+i;
System.out.println(i);
break;
}
i++;
} System.out.println("总和是:"+sum);
System.out.println("i的值:"+i);
} }
continue:结束当次循环,继续下一次循环
package com.zhangguo.chapter1; import java.util.Scanner; /**
* while循环计算1到该数间能被3和5同时整除的数之和
*
*/
public class Math7 { public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个数:");
int n=input.nextInt();
int i=1,sum=0; while(i<=n){
if(i%3==0&&i%5==0){
sum=sum+i;
}
i++;
if(i<=15) {continue;}
System.out.println(i);
} System.out.println("总和是:"+sum);
System.out.println("i的值:"+i);
} }
4.3、do-while循环
do-while 输入年龄,介于1-100之间
package com.zhangguo.chapter1; import java.util.Scanner; /**
* do-while 输入年龄,介于1-100之间
*
*/
public class Math8 { public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int age = 0; do {
System.out.print("请输入年龄:");
age = input.nextInt();
} while (age < 1 || age > 100); //条件为真,循环继续 System.out.println("年龄是:" + age);
} }
4.4、if-else多条件分支
if-else 输入购物金额,完成商场打折功能
0-99 打9折
100-500 打8折
500以上打7折
package com.zhangguo.chapter1; import java.util.Scanner; /**
* do-while 输入年龄,介于1-100之间
*
*/
public class Math8 { public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int age = 0;
String range = ""; do {
System.out.print("请输入年龄:");
age = input.nextInt();
} while (age < 1 || age > 100); // 条件为真,循环继续 System.out.println("年龄是:" + age); if (age >= 0 && age <= 30) {
range = "青年";
} else if (age >= 31 && age <= 60) {
range = "中年";
} else if (age >= 61 && age <= 90) {
range = "老年";
} else {
range = "晚年";
} System.out.println("年龄段是:" + range); } // 0-30 青年
// 31-60 中年
// 61-90 老年
// 晚年 }
4.5、switch开关分支
switch 输入1-7 输出星期一到星期天
等值比较
package com.zhangguo.chapter1; import java.util.Scanner; public class Math9 { public static void main(String[] args) { Scanner input = new Scanner(System.in);
int week = 0;
System.out.print("请输入周:");
week = input.nextInt(); switch (week) { //char int
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期天");
break;
default:
System.out.println("输入错误");
break;
} } }
五、包与注释
a)、指定包名,相当于文件夹,一般使用倒置的域名如(com.baidu.项目名)
整理代码
避免冲,如一个项目中有多个同名的类,可以处在不同的包中间
类可以不在任何包中,一个包中也可以有0-N个类
包与文件夹一一对应
包的声明要放在第一行
b)、类型名,首字母大小
c)、代码中自动插入:public static void main(String[] args)
//包名,1单行注释
package com.zhangguo.chapter1; /**
* 判断一个数是奇数还是偶数
* @author 张果
*2文档注释
*/
public class Demo1 { /*
* 主方法,程序的入口
* 3多行注释
*/
public static void main(String[] args) {
//语句
System.out.println("Hello World!");
} }
e)、注意java中有3种类型的注释
六、数组
Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99
6.1、 一维数组
a)、计算5位同学的平均成绩
package com.zhangguo.chapter1; public class Math91 { public static void main(String[] args) {
int[] a=new int[10]; for (int i = 0; i < a.length; i++) {
a[i]=i*i;
} for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
} } }
输出:
求平均成绩与总分
package com.zhangguo.chapter2; import java.util.Scanner; public class Array2 { public static void main(String[] args) {
//统计平均成绩
//实例化(创建)长度为5的数组
int[] scores=new int[5];
int sum=0;
//int[] scores2={20,30,50,90,100,99,19,78};
//int[] scores3=new int[]{20,30,50,90,100,99,19,78};
//int[] scores2=new int[8];
//scores2[0]=20;
//scores2[1]=30; //... //输入器
Scanner input=new Scanner(System.in); //scores.length 数组的长度
for (int i = 0; i <scores.length; i++) {
scores[i]=input.nextInt();
} //遍历数组
for (int i = 0; i < scores.length; i++) {
sum=sum+scores[i];
} System.out.println("总分是:"+sum+",平均分:"+(sum/scores.length));
} }
package com.zhangguo.chapter2; import java.util.Scanner; public class Array2_2 { public static void main(String[] args) {
//统计平均成绩
//实例化(创建)行为3的数组,列为2的数组
double[][] scores=new double[3][2];
double sum=0;
int n=0; //个数,输入 //输入器
Scanner input=new Scanner(System.in); //scores.length 数组的长度
for (int i = 0; i <scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
scores[i][j]=input.nextDouble();
n++;
}
} //遍历数组
for (int i = 0; i <scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
sum+=scores[i][j]; //sum=sum+scores[i][j];
}
} System.out.println("总分是:"+sum+",平均分:"+(sum/n));
} }
6.2、二维数组
6.2.1、二维数组的定义与使用基础
定义数组并赋初值:
package zhangsan; public class C1 { public static void main(String[] args) {
System.out.println("Hello"); int[][] a = new int[][] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } }; System.out.println(a[0][2]); for (int i = 0; i < a.length; i++) { //行 for (int j = 0; j < a[i].length; j++) { //列
System.out.print(a[i][j]+" ");
}
System.out.println();
} } }
输出:
6.2.2、二维数组赋值
定义数组并赋值
package zhangsan; import java.util.Scanner; public class C2 { public static void main(String[] args) { int sum=0;
Scanner input=new Scanner(System.in); int[][] a = new int[3][2]; //a[0][0]=98;
//a[0][1]=89; for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.err.print("请输入a["+i+"]["+j+"]=");
a[i][j]=input.nextInt();
}
} for (int i = 0; i < a.length; i++) { //行
for (int j = 0; j < a[i].length; j++) { //列
sum+=a[i][j];
}
} System.out.println(sum); } }
输出:
6.2.3、二维数组应用
有3名同学,每名同学有语文与数学考试成绩,求平均分与总分?
package com.zhangguo.chapter2; import java.util.Scanner; public class Array2_2 { public static void main(String[] args) {
//统计平均成绩
//实例化(创建)行为3的数组,列为2的数组
double[][] scores=new double[3][2];
double sum=0;
int n=0; //个数,输入 //输入器
Scanner input=new Scanner(System.in); //scores.length 数组的长度
for (int i = 0; i <scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
scores[i][j]=input.nextDouble();
n++;
}
} //遍历数组
for (int i = 0; i <scores.length; i++) {
for (int j = 0; j < scores[i].length; j++) {
sum+=scores[i][j]; //sum=sum+scores[i][j];
}
} System.out.println("总分是:"+sum+",平均分:"+(sum/n));
} }
运行结果:
6.2.4、方法与排序
java中内置了非常多的工具方法如Math类、Arrays类等,使用sort可以实现给数组排序:
package com.zhangguo.chapter2; import java.util.Arrays; public class Method { public static void main(String[] args) {
int a=1,b=2;
int max=a>b?a:b; //三目
System.out.println(max); //算术
System.out.println(Math.max(9, 10)); int[] a1={8,9,1,3,4,5,0,-1}; //排序
Arrays.sort(a1); for (int i = a1.length-1; i>=0; i--) {
System.out.print(a1[i]+" ");
} //字符,字符串比较只能用equals, ==
String x="abc";
System.out.println(x.equals("abc"));
System.out.println("abc"==x);
} }
?:表达式的作用是如果表达式1为真则返回或执行第2个表达式,如果表达式为假则执行或返回第3个表达式
表达式1?表达式2:表达式3
如:int min=a<b?a:b;
6.2.5、递归调用
利用递归方法求5!
利用递归方法求(斐波那契数列(Fibonacci sequence),又称黄金分割数列)
七、练习与笔记
请说出下面程序的运行结果?
package a.b.c.d; public class Test { public static void main(String[] args) {
for (int i = 1; i <=10; i++) {
if(i%2==0){
System.out.print("a");
}else if(i%3==0){
System.out.print("b");
}else {
System.out.print("c");
}
}
}
}
cabacacaba
break在程序中的作用是什么?他能用在那些结构中?
package a.b.c.d; public class Test2 { public static void main(String[] args) {
for (int i = 0; i <10; i++) {
if(i%2==0){
System.out.print("a");
}else if(i%7==0){
System.out.print("b");
break;
}else {
System.out.print("c");
}
}
}
}
acacacab
continue在程序中的作用是什么?他能用在那些结构中?
当输入0、2、7时程序分别输出什么?
package a.b.c.d; import java.util.Scanner; public class TestC { public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String[] weeks={"天","一","二","三","四","五","六"};
int index=input.nextInt();
System.out.println("星期"+weeks[index]);
}
}
上机练习,用户注册示例
package com.zhangguo.chapter2; import java.util.Scanner; /**
* 注册
*
*/
public class Math9 { public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String uid,pwd;
String flag; do {
System.out.print("请输入帐号:");
uid = input.next();
System.out.print("请输入密码:");
pwd = input.next();
System.out.println("注册成功,您的用户为:"+uid+"\t密码:"+pwd); System.out.print("是否继续(y/n):");
flag=input.next();
} while (flag.equals("y")); //条件为真,循环继续 } }
运行结果:
八、推荐学习网站
八、示例与视频
第一次视频:http://pan.baidu.com/s/1bp7pTjL
JDK8下载:http://pan.baidu.com/s/1nuSuIKT
Eclipse下载:http://pan.baidu.com/s/1c2koakg
第三次视频:http://pan.baidu.com/s/1mhAfWSg (JavaSE_第2章第3次_数组,方法,复习流控)
上课示例:http://files.cnblogs.com/files/best/JavaSE02.7z
作业:
在这里找 http://www.cnblogs.com/best/p/5991771.html 5个题
在这里找 http://www.cnblogs.com/best/p/5991751.html 5个题
所有课后练习,包含预习,简答,编程 All
JavaSE学习总结(二)——Java语言基础的更多相关文章
- JavaSE 学习笔记之Java语法基础(二)
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...
- Python学习(二)语言基础
一.变量与类型 在程序设计中,变量是一种存储数据的载体 整型:Python中可以处理任意大小的整数 浮点型:浮点数也就是小数 字符串型:字符串是以单引号或双引号括起来的任意文本 布尔型:布尔值只有Tr ...
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(二)
Java语言基础(二) 一.变量续 (1).变量有明确的类型 (2).变量必须有声明,初始化以后才能使用 (3).变量有作用域,离开作用域后自动回收 变量作用域在块内有效 (4).在同一定义域中变量不 ...
- Java入门篇(二)——Java语言基础(下)
上篇说到Java中的变量与常量,接下来就是简单的计算了,首先需要了解一下Java中的运算符. 六.运算符 1. 赋值运算符 赋值运算符即"=",是一个二元运算符(即对两个操作数进行 ...
- 我的学习目标(目前已初步学习完Java语言基础)
操作系统.尤其是内存/线程/进程方面 计算机网络协议,重点关注 TCP/UDP/HTTP. 数据结构与算法. 数据库 设计模式,熟练掌握常用的几种设计模式. Java语言基础.熟悉java语言基础,了 ...
- 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数
Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...
- day01<计算机基础知识&Java语言基础>
计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
随机推荐
- "一个程序员的生命周期"读后感
这篇文章中作者叙述了自己和大多数大学生或许都会面对的问题,即是会走过挺多的歪路,面临很多的困难和压力,但是作者却从未放弃自己真正追求的东西.对于一个过来人的经验之谈,我们应该吸取经验,在大学好好去奋斗 ...
- ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记
前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...
- Xcode自动选择证书
从xcode3时代习惯了手动选择证书,即 Provisioning Profile和 Code Signing Identify. 而随着团队扩大,应用量增多,需要管理的证书也越来越多,每次从长长的l ...
- 在Windows Server 2008R2中部署 AspNetCore
1.部署时,先安装运行时 https://dotnet.microsoft.com/download 2.安装vc_redist.x64 https://www.microsoft.com/en- ...
- 七牛云域名DV SSL证书申请流程以及CDN融合加速配置
从2017年起,苹果ios以及微信小程序都陆续要求请求连接request地址是使用HTTPS协议的.所以在项目开发阶段就要考虑解决https的问题,同时这也是为项目实际安全所考虑.最近我也是在折腾项目 ...
- [转帖] iptables之四表五链
iptables之四表五链 http://www.cnblogs.com/clouders/p/6544584.html mark 学习一下 对防火墙一无所知.. iptables可谓是SA的看家本领 ...
- Oracle 的ORION工具简单使用
1. 下载地址: http://www.oracle.com/technetwork/cn/topics/index-088165-zhs.html 2. linux x64 还有 windows的 ...
- [转帖] kubeadm搭建kubernetes集群
http://www.bladewan.com/2018/01/02/kubernetes_install/ 学习中 kubernetes V1.9安装(附离线安装包和离线镜像) 2018-01-0 ...
- hive 远程管理
- jdk1.8 HashMap红黑树操作详解-putTreeVal()
以前也看过hashMap源码不过是看的jdk1.7的,由于时间问题看的也不是太深入,只是大概的了解了一下他的基本原理:这几天通过假期的时间就对jdk1.8的hashMap深入了解了下,相信大家都是对红 ...