A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 jc5477 于 2018-1-6 19:26 编辑

day1

作为小白
1今天刚刚学习了eclipse的基本使用操作 包括一些快捷键
认识到了注释的重要性
一 注释可以用来帮助理解代码
二 注释而已帮助修改代码错误  比如不确定某一块的代码的正确  可以分批注释来检测


2学习了java的基础语法  比如
public class firstday{
public static void main(String[] args){
      System.out.println("Hello world!!");
}
}
这是入门级语句   我也算会hello world的萌新了


3学习了基本的数据类型
一共有8种数据类型
根据分类分为   整型  浮点型  字符型  布尔型
整型有          byte short int long 四种
浮点型有      float  double  两种
字符型有      char  一种
布尔型有      boolean 一种
并且学习了它们分别占多少字节和表示多大范围

然后今天也做了一下课上的练习





希望每天都能够消化掉所学的知识   大家一起进步


42 个回复

倒序浏览
加油哦~~~
回复 使用道具 举报
day2
今天学习了 运算符和if语句


常用运算符分类
算数运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符
算数运算符:+,-,*,/,%,++,--
赋值运算符:=,+=,-=,*=,/=,%=
关系运算符:==,!=,<,<=,>,>=
逻辑运算符:&,|,^,!,&&,||


其中我认为比较不太好理解的是自增自减和&&||与&|的区别


int n1 = 10;
int n2 = n1++ + ++ n1 + --n1;//10+12+11=33



&逻辑与:有false则false。
      |逻辑或:有true则true。
      ^逻辑异或:相同为false,不同为true。

      !逻辑非:非false则true,非true则false。

这里引用一下斌哥的讲解

//&& ,|| 和& ,|的区别
       //首先 他们的结果肯定都是一样的  && || 有短路效果
       //&& 在左边结果为false的情况下  不执行右边的代码
       //|| 在左边结果为true 的情况下  不执行右边的代码

三元运算符的格式
(关系表达式)?表达式1:表达式2;
如果括号内条件为true,运算后的结果为 表达式1
如果括号内条件为false,运算后结果为 表达式2

// 如果我有3个数 i a b 现在要把最大的这个数 给另外一个变量e
       int temp =(a>b)?a:b;//獲取了ab 之间的最大值
       int e = (temp>i)?temp:i;//在和最后一个值比较得到最大值
      这里是第一种 用另一个中间量比较

          int e = (((a>b)?a:b)>i)?((a>b)?a:b):i;这里是第二种,嵌套形式

       System.out.println(e);

if 语句

if语句的第一种格式:if(关系表达式){语句体}
if语句的第二种格式:if(关系表达式){
                                        语句体1
                                  }else{
                                        语句体2
                                  }
if语句的第三种格式:
                                if(关系表达式1){
                                         语句体1
                                 }if else (关系表达式2){
                                         语句体2
                                 }。。。
                                  else{
                                         语句体n+1
                                 }



这里有一道课上的练习题
//4 现在有  a b c三个int变量  要求把abc 按照从大到小的顺序输出
       int aa = 12;
       int bb = 11;
       int cc = 13;
       int max = ((aa>bb)?aa:bb) >cc ? ((aa>bb)?aa:bb):cc;
       int min = ((aa<bb)?aa:bb) <cc ? ((aa<bb)?aa:bb):cc;
       int mid = aa+bb+cc - max - min;
      
       System.out.println("他们的顺序是: "+ max +" "+ mid+" "+min);

这是斌哥的解法,这种倒是可以解出来
但是我有个小问题,如果把条件改为很多变量怎么算,总和减去最大最小和的方法就不行了。。。

以后可以返回来再看看,或许会有更好的解法,现在还没想清楚其他算法。
回复 使用道具 举报
这是课上做的练习题
回复 使用道具 举报
温故而知新   加油   
回复 使用道具 举报
期待更新~~~
回复 使用道具 举报
day 3今天学习了 3种循环语句 for while 和   do...while
第一种for语句  格式如下
for(初始化语句;判断条件语句;控制条件语句) {
        循环体语句;
}
举个例子 //求出1-100累加之和
int a ;
int sum=0;
for(a=1;a<=100;a++){
              sum = sum + a;
}
System.out.println(sum);//这里要注意,打印指令写在循环内的话,会输出每次循环的结果,而写在循环外的话,则只会输出最后循环结束的结果。

第二种 while语句   格式如下
while(判断条件语句){
            循环体语句;
}
//while语句中只写判断条件语句,所以控制条件可以写在外面。
//另外,while语句用来写无限循环在方便不过了,例如无限向控制台输出某个信息
int a = 0;
while(true){
          a++;
System.out.println(a);
}
这里将会无限循环a++

第三种循环   do...while循环   格式如下
do{
          循环语句体;
}while(判断条件语句);

还拿从1一直加到100举例

int a ;
int a = 0;
                int sum = 0;
                do {
                        sum = sum + a;
                        a++;
                } while (a<=100);
                System.out.println(sum);

然后是学习了循环控制语句
控制跳转语句break
break的使用场景:
在选择结构switch中
在循环语句中
break的作用:跳出单层循环
控制跳转语句continue
continue的作用退出单次循环



然后学习了for语句的嵌套使用
例如  打印九九乘法表
for(int i=1;i<10;i++){
    for(int j=1;j<10;j++){
system.out.println(j+"x"+i+"="+i*j);
     }
system.out.println();
}


最后学习了Random类的使用 和 Scanner对象的创建和使用
Random是用来创建一个随机数的类
它的使用步骤:
1导包            inport java.util.Random;
2创建对象     Random random = new Random();
3获取随机数  int number = random.nextInt(x);//这里的括号就是值域了,默认从0开始到x-1

Scanner键盘录入
1导包            import java.util.Scanner;
2创建对象     Scanner.scanner = new Scanner(system.in);
3接收数据     int number = scanner.nextInt();

最后做了一下课下的3个练习















回复 使用道具 举报
期待继续更新
回复 使用道具 举报
jc5477 中级黑马 2018-1-10 20:04:42
9#
day4
今天是在预科班学习的最后一天
今天学习了String类  String类代表字符串,在java中所有字符串的字面值都是用它来实现
字符串有几点需要注意


1,字符串的字面值也可以看成是一个字符串对象
2,字符串是常量,一旦被赋值,就不能被改变
3,字符串本质是一个字符数组


String类的常用构造方法
String string = new String("第一种");
String string2 = "第二种";


这里要注意
通过构造方法创建的字符串对象和直接赋值方法创建的字符串对象的不同
构造方法创建的字符串对象是存放在堆内存
而直接赋值创建的字符串对象是存放在常量池中




String类的判断功能
boolean equals(Object obj):比较字符串的内容是否相同
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean startsWith(String str):判断字符串对象是否以指定的str开头
booleanendsWith(String str):判断字符串对象是否以指定的str结尾

String类的获取方法
int length():获取字符串长度
char charAt(int index):获取指定索引处的字符
int indexof(String str):获取str在字符串对象中 第一次出现的索引
string substring(int start):从start开始截取字符
string substring(int start,int end)从start开始(含),到end结束截取中间字符


String类的转换功能
char[] toCharArray():把字符串转换为字符数组
String toLowerCase():把字符串转换为小写字符串
String toUpperCase():把字符串转换为大写字符串


//这里是课上做的小练习
public static void main(String[] args) {
                // 模拟登陆,一共三次机会,并提示还有几次
                String username = "itheima";
                String password = "123456";
                Scanner scanner = new Scanner(System.in);
               
                int count = 1;
                while(count<=3){
                        System.out.println("请输入用户名");
                        String username1 = scanner.nextLine();
                        System.out.println("请输入密码");
                        String password1 = scanner.nextLine();
                        if(username.equals(username1)&&password.equals(password1)){
                                System.out.println("登陆成功");
                                break;
                        }else{
                                System.out.println("登录失败");
                                count++;
                                if(count<4){
                                        System.out.println("您还可以输入"+(4-count)+"次");
                                       
                                }else{
                                        System.out.println("没有尝试次数了");
                                }
                        }
                }
        }








//小练习2
public static void main(String[] args) {
                // 统计一串字符串当中大写字母字符,小写字母字符和数字的出现次数
                String str = "abcdef12345ABCD";
                int A = 0;
                int a = 0;
                int num = 0;
               
                for(int i=0;i<str.length();i++){
                        char ch = str.charAt(i);
                        System.out.println(i);
                        if(ch>='A'&&ch<='Z'){
                                A++;
                        }
                        if(ch>='a'&&ch<='z'){
                                a++;
                        }
                        if(ch>='0'&&ch<='9'){
                                num++;
                        }
                }
                System.out.println("大写有"+A);
                System.out.println("小写有"+a);
                System.out.println("数字有"+num);
               

        }





总结
在预科班学习的时间过得很快,今天已经是最后一天的课程了
从刚开始比较松散的学习状态已经过渡到了身心投入的学习状态当中
每天能够坚持课上认真听讲,课下积极复习

虽然平时也有理解较慢的地方,但是在斌哥和周围同学的帮助下还是能很好的解决问题
现在回顾一下这短短几天时间,对自己的表现还是比较满意
希望能够在接下来的日子里踏踏实实 认真的走完每一步
希望能够在黑马学习的日子里不留下遗憾
也希望能够大家能够一起进步,通过在这里的学习,使自己的未来变得更加辉煌








回复 使用道具 举报
厉害了,这是要变大神的节奏啊期待持续更新 一起见证成长
回复 使用道具 举报

期待继续更新~~~
回复 使用道具 举报

学习笔记【每日更新】(希望是每日都能更)

几天前预科班结束
斌哥留的六道题里面有道题困扰了我很久
在一位不愿意透漏姓名的同桌的讲解下
终于弄懂了
然后放一下原题
//4.编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
//  “To be or not tobe",将变成"oT ebro ton ot eb"
         String string = "To be or not to be";//定义一个字符串
      String[] split = string.split(" ");//string按空格分割
      String last = "";//定义最后要输出的字符串
      for(int i=0;i<split.length;i++){
          String string2 = split[i];//string2遍历split
          char[] ch = string2.toCharArray();//ch获取到每个字符
          String string3 = "";
          for(int j=ch.length;j>0;j--){//翻转
             string3 = string3 + ch[j-1];//string3获取翻转后的字符串
          }
          last = last + string3 + " ";//拼接string3
      }
      System.out.println(last);
然后今天是基础班的正式上课
今天主要是回顾了一下预科班之前的内容
在源哥风趣的授课风格之下
我们温习了helloworld 的写法并浅析了再次安装jdk的知识
开个玩笑
今天了解到了java的发展历史和java语言平台
并学习了jvm,jrejdk的关系
学习了dos命令和如何在控制台中编译和运行java程序
虽然今天是复习但是还是学到了新的知识点
今天通过视频教学,详细了解到了类型转换中强制转换的弊端
并且在syso向控制台输出字符字符,学习到了一个新的命令
\r\n  ==  回车       \t == tab
是非常有用的小命令
今天就这样希望能在接下来的学习中保持动力
和同学们一起进步
回复 使用道具 举报
期待更新............
回复 使用道具 举报
数着数着也不知道Day几了
今天是基础班第二天
依旧是复习预科班的知识
今天复习了各种运算符
着重讲了一下自增自减
这一块知识在预科班的时候自己没有理解的很透彻
今天也是很好的巩固了


另外 今天还复习了键盘录入
复习一下步骤
Scanner键盘录入
1导包            import java.util.Scanner;
2创建对象     Scanner.scanner = new Scanner(system.in);
3接收数据     int number = scanner.nextInt();
下面是今天的课后作业截图

回复 使用道具 举报
回复 使用道具 举报
完美,,一看就是上课人了真的,,,
回复 使用道具 举报
Day x
今天第一天自习
进入基础班已经两天时间了
认真回想了一下自己学过的知识
补充了笔记
另外今天轮到我演讲
结合数组和之前学到的for循环
做了一个简单的事例,放张图


另外自己预习了一下方法这一部分的知识
简单的做了下总结





今天自己预习的效果还可以 希望可以保持

回复 使用道具 举报
期待每天都看到你的进步~~~
回复 使用道具 举报
Day X
今天复习了选择流程控制语句和循环流程控制语句
选择语句主要讲了if语句和switch语句
If语句和switch语句的用法还是有很大的区别
我自己感觉switch语句的局限性有很多,比如表达式的取值,只有byte,short,int,char四种类型
但是switch在JDK5以后可以用枚举,在JDK7以后可以用String了.
而if语句呢感觉比较灵活,在处理较多数据时,还是if好用一些.
因为switch语句中 case后面跟的是固定的值,这样一来提高了很大的代码量.
然后是复习了循环流程控制语句
循环流程控制语句主要有三种,for循环,while循环和do…while循环
我之前在for循环这一块内容学习的不是很扎实
今天源哥带我又复习一遍,感觉美滋滋
坐了几道题,先看一下
public class homework {
     public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          int count = 0;
          System.out.println("请输入学员总人数:");
          int total = scanner.nextInt();
          for(int i=1;i<=total;i++){
               System.out.println("依次输入学员们的成绩");
               int score = scanner.nextInt();
               if(score>=80){
                    count++;
               }else{
                    continue;
               }
          }
          double rate = (double) count/total; //直接在这里拿来两个值,做完运算又变int了,拿着0去输出
          System.out.println(rate);
     }
}
          第二题 关于while的用法
public static void main(String[] args) {
     //珠峰8848,0.001
     //对折多少次高度超过珠峰
     int mount = 8848000;
            int paper = 1;
            int count = 0;
            while(true){               //这里直接拿纸控制也行,为了用一下无限循环
                  paper *= 2;
                  count++;
                  if(paper>=mount){
                       break;
                  }
            }
System.out.println(count);
      }
     
第三个练习
import java.util.Scanner;
public class asd {
     public static void main(String[] args) {
          /*  1.功能描述:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
               2.要求:
                    (1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
                    第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
                    (2)使用今天所学知识完成功能
                    (3)演示格式如下:
                         请输入第一个整数:30
                         请输入第二个整数:40
                         请输入您要进行的运算:+
                         控制台输出:30+40=70
           */
          Scanner scanner = new Scanner(System.in);
          System.out.println("请输入第一个整数:");
          int a = scanner.nextInt();
          System.out.println("请输入你要进行的操作(+,-,*,/)");
          String ch = scanner.next ();//如果要用比较字符串的方法来确定运算方式,最好用.next的方式,不然控制台非常容易出bug
          System.out.println("请输入第二个整数:");
          int b = scanner.nextInt();
          String jia = "+";
          String jian = "-";
          String cheng = "*";
          String chu = "/";
          if(ch.equals(jia)){
               int sum = a+b;
               System.out.println(a+"+"+b+"="+sum);
          }
          if(ch.equals(jian)){
               int cha = a-b;
               System.out.println(a+"-"+b+"="+cha);
          }
          if(ch.equals(cheng)){
               int ji = a*b;
               System.out.println(a+"*"+b+"="+ji);
          }
          if(ch.equals(chu)){
               double shang = a/b;
               System.out.println(a+"/"+b+"="+shang);
          }
     }
}
接下来学习了控制跳转语句
主要就是break和continue;
区别在于 break是跳出整个循环,而continue只是跳过这一次的循环.
今天的内容就是这些,定期复习有助于更好的掌握知识~

回复 使用道具 举报 1 0
总结很完善!继续加油
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马