黑马程序员技术交流社区

标题: javase基础 [打印本页]

作者: 周杰11    时间: 2017-11-30 12:50
标题: javase基础
本帖最后由 小石姐姐 于 2017-12-1 18:55 编辑

Java创始人:詹姆斯高斯林什么是跨平台?一次编写,处处运行,平台指的是Windows,Linux.Mac,只要平台安装有相应的JAVA JVM(虚拟机),就可运行什么是JVM,JDK,JRE?JVM:JVM(java virtual machine)指的是java虚拟机,跨平台就是靠它JRE:JRE()包括jvm+java核心类库JDK:JDK包括jre+java开发工具包,是给java开发人员使用的。常用dos命令dir:显示路径下的所有东西,包括文件夹,文件等Cls:清屏Cd:改变路径Cd..:回退一个目录Exit:退出或者返回...Help:查看所有的dos命令。配置环境变量:新建JAVA_HOME=JDK的安装路径(不要到bin下)找到PATH变量,在前面加上”%JAVA_HOME%\bin;”作用是在任何目录下编写java文件都可以在dos下运行,案例HelloWorld//定义一个类,类名HelloWorldpublic class HelloWorld{/*编写主(main)方法,在c语言里叫函数,其实都是一个意思,这程序的入口,而且只能只有一个main方法*/public static void main(String[] args){//打印输出HelloWorldSystem.out.println(“HelloWorld”);}}运行:dos命令到java文件目录下,javac xxx.java //没有报错且在此目录下生成一个  类名.Class 文件 说明成功java 类名(不加.Class)注释//:单行注释/**/:多行注释/***/:文档注释,在eclipse里很有用关键字特点:字母全部小写,一般是高亮的颜色常量不变的值特点:常量名全部大写,见名知意变量格式:数据类型 变量名=初始化值;特点:变量名全部小写,见名知意标识符作用:给包,类,变量等起名字包:全部小写。多级用“.”隔开,如:com.itheima.zj组成规则:下划线_,美元符号$,和unicode:英文大小写,数字(但数字不能开头),汉字        (不推荐使用)类特点:单词首字母大写变量或者方法一个单词时,全部小写(首字母小写)如:age多个单词时,第一个单词小写(首字母小写)第二个单词及以后第一个字母大写如:studentAge类型转换(boolean 1个字节)优先级:byte  1个字节,short  2个字节,char  2个字节-->int  4个字节--->long  8个字节--->float  4个字节--->double  8个字节隐式转换  如:int a=10;byte b=20;a+b就是int类型强制转换 格式:目标数据类型 变量名=(目标数据类型)(将要转换的数据);如:int a=10;byte b=20;byte c=(byte)a+b;//输出为30转义字符“\n”  换行安装eclipse:eclipse绿色版   eclipse基本设置A:行号的显示和隐藏显示:在代码区域的最左边的空白区域,右键 -- Show Line Numbers即可。隐藏:把上面的动作再做一次。B:字体大小及颜色  a:Java代码区域的字体大小和颜色:window -- Preferences -- General -- Appearance -- Colors And Fonts -- Java -- Java Edit Text Font  b:控制台window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font        c:其他文件window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font        C:窗体给弄乱了,怎么办?        window -- Perspective -- Reset Perspective        D:控制台找不到了,怎么办?        Window--Show View—Console  不用安装,找到eclipse.exe文件双击就可以用。注意,eclipse是用java写的,所以要        安装jre或者jdk.B:导入项目                在项目区域右键找到import                找到General,展开,并找到                Existing Projects into Workspace                点击next,然后选择你要导入的项目      运行点击代码处空白点击RUN AS 选择java Application即可运行运算符  +  -  *  /  %  ++  --  加法+:  如         int a=4;  Int b=45;  System.out.println(a+b);//结果是49  注意:System.out.println(“HelloWorld”+a);//结果是HelloWorld4   System.out.println(a+“HelloWorld”+b);//结果是4HelloWorld45  *-:  只是做相应的操作  / 取整操作:  int a=10;  Int b=3;  int c=10.0  System.out.println(a/b);//输出结果是3  System.out.println(c/b);//输出结果是3.33333333333333  %取余操作:  int a=5;  Int b=3;  System.out.println(a%b);//输出结果是2    ++:  int a=5;  Int b;  a++;//结果是6  ++a;//结果是6    a--;//结果是4  --a;//结果是4  b=a++;//b=5,a=6  b=++a;//b=6,a=6  -- 也是一样的快捷键:  ctrl+a//全选  Ctrl+s//保存  Ctrl+shift+f//代码格式化  Alt+/ //快捷选出要写的内容  Syso+/ //快速写出System.out.println();    单行  选中内容,ctrl+/, 再来一次取消  多行        选中内容,ctrl+shift+/, ctrl+shift+\  ACLLSE码值  A--->65  a--->97  0--->48  逻辑运算符  &   |   &&   ||  !  ^  &:且的意思,符号两边都可执行  左右两边都为真是返回真  &&:也是且的意思,但是如果左边不为真,就不判断右边   左右两边都为真是返回真  |:或的意思,两边都执行,左边或者右边只要有一个为真就返回真  ||: 或的意思,但是如果左边为真,就不判断右边   左边或者右边只要有一个为真就返回真  ^:  异或 相同为false,不同为true  !: 非 如  !(4>2)---true  !!(4>2)---false  关系运算符:>  <  !=   ==  <=   >=  !=:不等于  扩展运算符:  +=,-=...  Int a=10;  byte b=1;  b+=a;<----->b=(byte)(b+a);  隐含了强制转换  三元运算符  格式:  (关系表达式)?(表达式1):(表达式2);注意:%:取余,结果的正负号以%左边为准,与右边符号无关      取模(java中没有此运算)结果的正负号以%右边为准,与左边符号无关键盘录入类:  //导入包    import java.util.Scanner;  //创建键盘录入对象  Scanner sc=new Scanner(System.in);  //获取键盘键入值  Int a=nextInt();//int类型的        顺序结构:从上到下If语句:  格式  if(关系表达式){  执行语句;  }else if(关系表达式){  执行语句;  }else if(关系表达式){  执行语句;  }  ...  else{  执行语句;  }  For循环语句:  格式  如for(int i=0;i<=10;i++){  执行语句;  }  switch语句:  格式  如 switch(表达式){  Case 值1:  语句体;  break;  Case 值2:  语句体;  break;//结束switch循环  ....  default:        //如果前面case没有值相对应,就会执行default语句,如                        //果有对应了就不执行default语句了。  语句体;  break;  }  While语句:  基本格式  如  while(判断条件语句)        {  循环体语句;  }  扩展格式 如  int i=0;  While(i<10){  syso(“helloword”);  i++;  }          do...while语句:  基本格式 如:  do{  循环体语句;  }while(判断条件语句);      扩展格式 如:  int i=0;  do{  Syso(“helloWorld”);  i++;  }while(i<100);  break的使用场景  switch语句中使用break;跳出switch语句  For循环中使用break,结束for循环  注意:break,continue不与switch语句和for语句使用时没有意义的,会报错。continue的使用场景   for循环里,作用是结束本次循环,在它后面的语句本次不执行,直接到下次循环,继续下次循环。随机数类  Random  //创建随机数对象  Random r=new Random();  //获取随机数值  int i=r.nextIn(10);//代表在[0,10)中随机取数一维数组初始化  数据类型[] 数组名=new 数据类型[长度];//动态,适用于只知道数组长度  数据类型[] 数组名=new 数据类型[]{值1,值2,值3,.......};简单写可以写成数据类型[] 数        组名={值1,值2,值3,.......};二维数组类似  数据类型[][] 数组名=new 数据类型[m][n];//动态,适用于只知道数组长度      数据类型[][] 数组名=new 数据类型[][]{{值1,值2},{值3},.......};简单写可以  写成数据类型[] 数        组名={{值1,值2},{值3},.......};数组索引越界异常   ArrayIndexOutOfBoundsException 原因:访问了不存在的索引空指针异常    NullPointerException  如:        arr=null;  Syso(arr[1]);  二维数组:  Int[][] arr=new int[3][];这样也是可以的,但是int[3]必须要。  可以创建长度为0的数组  如  Int[] arry=new int[0];  Int[] arry={};        注意:       数组名存放的是地址,二维数组数组名存放的是这个二维数组的长度,也就是里面一维数组的个数,如有arr[m][n]     arr[0]存放的是arr这个二维数组里第一个一维数组的地址。         数组           Arrays.toString(arr);//打印arr里的元素 如:[1,2,3,5,6]              方法:              文档注释           /**            * 定一个加法方法            * @param a 输入的第一个整数            * @param b 输入的第二个整数            * @return 返回a与b相加的值            */           public static int add( int a,int b){                   int sum=a+b;                   return sum;           }           方法重载:方法名相同,参数列表不同:                                                           数据类型不同                                                           参数个数不同                   如:                           //int           public static int com(int a,int b){                   System.out.println("int");                   return a+b;           }           //double           public static boolean com(double a,double b){                   System.out.println("boolean");                   return a==b;           }   形参与实参的区别:           形参如果是基本数据类型,形参的改变不影响实参的值   内存:                   xxx.class文件 方法放在方法区           new 的在堆内存           变量 在栈内存
作者: 黑马小黄人    时间: 2017-11-30 14:09
基础最重要
作者: Port    时间: 2017-11-30 15:44
格式好乱

作者: 周杰11    时间: 2017-11-30 18:43
不知道为什么发上来就乱了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2